我有这样的代码来构造二进制字符串
[<<"Hello, ", Name/binary>>]
尝试将Name
读取为Unicode。像这样
[<<"Hello, ", Name/utf16/binary>>]
看起来这是一个明显的错误语法。我该如何进行这项工作?预先感谢。
答案 0 :(得分:1)
只需使用/binary
和unicode
模块中的函数即可在编码之间进行转换。
您的问题首先说您正在构造字符串,然后阅读它。如果要构建,可以编写
Utf16Name = unicode:characters_to_binary(Name, utf8, utf16),
[<<"Hello, ", Utf16Name/binary>>]
编辑: 当然,这很不好:“你好,”将是UTF8!应该是
unicode:characters_to_binary(<<"Hello, ", Name/binary>>, utf8, utf16)
甚至
unicode:characters_to_binary(["Hello, ", Name], utf8, utf16)