Erlang: использование битового синтаксиса для добавления строки в формате с прямым порядком байтов - PullRequest
1 голос
/ 16 декабря 2011

Как правильно добавить строку двоичного размера в двоичный файл с использованием битового синтаксиса?Все должно быть в порядке байтов.Я пробовал это:

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

1 Ответ

3 голосов
/ 16 декабря 2011

Делает ли это то, что вы хотите?

<<Cmd:32/unsigned-little-integer,(list_to_binary(Text))/binary>>.

Это просто обрабатывает вашу строку как двоичный файл с одним байтом на символ, поэтому не применяется порядок байтов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...