【发布时间】:2019-11-09 02:30:53
【问题描述】:
在 Erlang 中,如何将 string 转换为 binary 值?
String = "Hello"
%% should be
Binary = <<"Hello">>
【问题讨论】:
标签: erlang
在 Erlang 中,如何将 string 转换为 binary 值?
String = "Hello"
%% should be
Binary = <<"Hello">>
【问题讨论】:
标签: erlang
在 Erlang 中,字符串表示为整数列表。因此,您可以使用list_to_binary(内置函数,又名 BIF)。这是我在 Erlang 控制台中运行的一个示例(以 erl 开头):
1> list_to_binary("hello world").
<<"hello world">>
【讨论】:
string_to_binary,但编译器一直提醒我没有这样的东西;)
unicode 模块中的某些函数可能比 list_to_binary 更合适。
unicode (utf-8/16/32) 字符集需要更多位数来表示长度大于 1 字节的字符: 这就是为什么上述调用对于任何大于 255 的字节值都失败(一个字节可以容纳的信息的限制,对于 IS0-8859/ASCII/Latin1 来说已经足够了)
要正确处理您需要使用的 unicode 字符
unicode:characters_to_binary() R1[(N>3)]
相反,它可以同时处理 Latin1 和 unicode 编码。
HTH ...
【讨论】: