gpt4 book ai didi

utf-8 - 将 UTF-16LE Elixir 位串转换为 Elixir 字符串

转载 作者:行者123 更新时间:2023-12-02 08:18:27 24 4
gpt4 key购买 nike

给定一个以 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 抛出错误,因为它是无效序列。我没主意了。

最佳答案

最简单的方法是使用 :unicode 中的函数模块:

:unicode.characters_to_binary(utf16binary, {:utf16, :little})

例如
<<68, 0, 101, 0, 118, 0, 97, 0, 115, 0, 116, 0, 97, 0, 116, 0, 111, 0, 114, 0, 0, 0>>
|> :unicode.characters_to_binary({:utf16, :little})
|> IO.puts
#=> Devastator

(最后有一个空字节,因此在 shell 中将使用二进制显示而不是字符串,并且根据操作系统,它可能会为空字节打印一些额外的表示)

关于utf-8 - 将 UTF-16LE Elixir 位串转换为 Elixir 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39773379/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com