在Erlang中,如何将String转换为二进制值?

Zub*_*air 28 erlang

在Erlang中,如何将String转换为二进制值?

tux*_*21b 46

字符串是erlang中的整数列表,因此您可以使用list_to_binaryBIF:

1> list_to_binary("hello world").
<<"hello world">>
Run Code Online (Sandbox Code Playgroud)

  • 您还需要记住当字符串包含非ASCII字符时会发生什么.对于这种情况,来自`unicode`模块的某些函数可能比list_to_binary更合适. (3认同)

小智 7

unicode(utf-8/16/32)字符集需要更多的位来表示长度大于1字节的字符:这就是为什么上述调用对任何字节值> 255(信息的限制)失败的原因一个字节可以容纳,对于IS0-8859/ASCII/Latin1来说就足够了

正确处理您需要使用的unicode字符

unicode:characters_to_binary() R1[(N>3)]

相反,它可以处理Latin1和unicode编码.

HTH ......