Packages
tds
2.3.1
2.3.8
2.3.7
2.3.6
2.3.5
2.3.4
2.3.2
2.3.1
2.3.0
2.3.0-rc.1
2.3.0-rc.0
2.2.0
2.1.3
2.1.2
2.1.1
2.1.0
2.0.4
2.0.3
2.0.2
2.0.1
2.0.1-rc2
2.0.1-rc1
2.0.0
retired
1.2.4
1.2.3
1.2.2
1.2.1
1.2.0
1.1.7
1.1.6
1.1.5
1.1.4
1.1.3
1.1.2
1.1.0
1.0.19
1.0.18
1.0.17
1.0.16
1.0.15
1.0.14
1.0.13
1.0.12
1.0.11
1.0.10
1.0.9
1.0.8
1.0.7
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.0
0.3.0
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
Microsoft SQL Server client (Elixir implementation of the MS TDS protocol)
Current section
Files
Jump to
Current section
Files
lib/tds/encoding/latin1.ex
defmodule Tds.Encoding.Latin1 do
@moduledoc false
def encode(str, "utf-16le") when is_binary(str) do
case :unicode.characters_to_binary(str, :unicode, {:utf16, :little}) do
utf16 when is_bitstring(utf16) ->
utf16
_ ->
error = ~s(failed to convert string "#{inspect(str)}" to ucs2 binary)
raise Tds.Error, error
end
end
def encode(str, "windows-1252") when is_binary(str) do
case :unicode.characters_to_binary(str, :unicode, :latin1) do
utf16 when is_bitstring(utf16) ->
utf16
_ ->
error = ~s(failed to convert string "#{inspect(str)}" to latin1 binary)
raise Tds.Error, error
end
end
def decode(binary, "utf-16le") when is_binary(binary) do
:unicode.characters_to_binary(binary, {:utf16, :little})
end
def decode(binary, _) when is_binary(binary) do
binary
end
end