2013-10-10 4 views
0

Я пытался использовать bitstring, но без успехаСтрока битов Строка Erlang

Мне нужно преобразовать String в (строка битов), 8 бит для каждого полукокса

Например:

"hi" = "0110100001101001" 

Благодаря

+0

Это не имеет смысла иметь строку и не знать кодировку этой строки. Предполагаю, вы хотите кодировать UTF-8? –

ответ

4

Я хотел бы попробовать бинарные постижений

[C + $0 || <<C:1>> <= list_to_binary(String)] 

Например

[C + $0 || <<C:1>> <= list_to_binary("hi")]. 
"0110100001101001" 
+0

также проверьте это, если вам нужно двоичное: '<< << (C + $ 0)/integer >> || <><= <<"hi">> >>. ' – danechkin

2

Один из способов сделать это состоит в использовании formatting с помощью io_lib:format

lists:flatten([io_lib:format("~8.2.0B", [Char]) || Char <- String]). 
"0110100001101001" 
Смежные вопросы