Packages
tds
2.3.5
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/ucs2.ex
defmodule Tds.Encoding.UCS2 do
@moduledoc """
Converting UTF-8 strings into UCS-2 (UTF16 Little Endian) strings
used by the MSSQL Database
"""
alias Tds.Utils
@ucs2_charset "utf-16le"
@doc """
Converts a UTF-8 string into UCS-2
"""
@spec from_string(binary | list) :: binary
def from_string(list) when is_list(list) do
list
|> IO.iodata_to_binary()
|> Utils.encode_chars(@ucs2_charset)
end
def from_string(string) when is_binary(string) do
Utils.encode_chars(string, @ucs2_charset)
end
@doc """
Converts a UCS-2 string into UTF-8
"""
@spec to_string(binary) :: binary
def to_string(string) when is_binary(string) do
Utils.decode_chars(string, @ucs2_charset)
end
end