【发布时间】:2017-02-07 23:04:01
【问题描述】:
给定一个以 UTF-16LE 编码的 Elixir 位串:
<<68, 0, 101, 0, 118, 0, 97, 0, 115, 0, 116, 0, 97, 0, 116, 0, 111, 0, 114, 0, 0, 0>>
我怎样才能把它转换成可读的 Elixir 字符串(它拼写为“Devastator”)?我得到的最接近的是将上面的内容转换为 Unicode 代码点列表 (["0044", "0065", ...]) 并尝试在它们前面加上 \u 转义序列,但 Elixir 抛出错误,因为它是无效序列。我没有想法。
【问题讨论】:
-
你已经answered这个问题了,不是吗?
-
这是一个临时的 hack,适用于更复杂的情况,例如解析以空字节结尾的未知长度的字符串,这是不够的。
标签: utf-8 elixir utf-16 utf-16le