使用位语法将任意大小的字符串添加到二进制文件的正确方法是什么?一切都需要小端。我试过这个:
example() ->
Cmd = 16#4e584e43,
Text = "hello::",
<<Cmd:32/unsigned-little-integer,Text/little-bitstring>>.
但得到例外:
** exception error: bad argument
in function bit_size/1
called as bit_size("hello::")
in call from packet:example/0
in call from packet:main/0
答案 0 :(得分:3)
这样做你想要的吗?
<<Cmd:32/unsigned-little-integer,(list_to_binary(Text))/binary>>.
这只是将您的字符串视为二进制文件,每个字符一个字节,因此不适用字节序。