iconv
Fast encoding conversion library for Erlang / Elixir
This library is a native binding to libiconv library.
Building
iconv library can be build as follow:
./configure && make
iconv is a rebar-compatible OTP application. Alternatively, you can build it with rebar:
rebar compile
Dependencies
iconv library depends on libiconv.
You can use configure
option to pass custom path to libiconv
library:
--with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib
Usage
You can start iconv with the following command:
$ erl -pa ebin -pa deps/*/ebin
Erlang/OTP 21 [erts-10.2.1] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [hipe] [dtrace]
Eshell V10.2.1 (abort with ^G)
1> application:start(iconv).
ok
2> FromEncoding = <<"utf-8">>.
<<"utf-8">>
3> ToEncoding = <<"iso8859-15">>.
<<"iso8859-15">>
4> Text = <<"Hello">>.
<<"Hello">>
5> iconv:convert(FromEncoding, ToEncoding, Text).
<<"Hello">>
Elixir
You can use iconv
with Elixir mix
by adding the dependency as follows:
defp deps do
[
{:iconv, "~> 1.0.10"},
]
end
$ mix deps.get
...
$ mix deps.compile
...
$ iex -S mix
Erlang/OTP 21 [erts-10.2.1] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [hipe] [dtrace]
Interactive Elixir (1.7.4) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> :iconv.convert("utf-8", "iso8859-15", "Hello")
"Hello"
Development
Test
Unit test
You can run eunit test with the command:
$ rebar eunit