如何将小端UTF-16 Unicode转换为Erlang字符串。

3

我有一个字符串值,其值为 "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]
但是我需要得到一个字符串"aman"或者仅仅是aman

如何实现?

1个回答

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"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接