如何将little-endian UTF-16 unicode转换为erlang字符串

时间:2017-05-10 12:25:08

标签: unicode erlang odbc

我的字符串值为aman,打印为<<97,0,109,0,97,0,110,0>>,当我这样做时:

A=<<97,0,109,0,97,0,110,0>>
erlang:binary_to_list(A)

我得到[97,0,109,0,97,0,110,0]
但相反,我需要一个字符串作为“阿曼”或简单的阿曼

如何做到这一点?

1 个答案:

答案 0 :(得分:6)

使用unicode:characters_to_list/2,在第二个参数中指定二进制的编码:

> A = <<97,0,109,0,97,0,110,0>>.
<<97,0,109,0,97,0,110,0>>
> unicode:characters_to_list(A, {utf16, little}).
"aman"