Двоичная и Юникодная строка - PullRequest
0 голосов
/ 20 октября 2018

У меня есть такой код для создания двоичной строки

[<<"Hello, ", Name/binary>>]

Попытка прочитать Name как Unicode.Вот так

[<<"Hello, ", Name/utf16/binary>>]

Похоже, что это явно неправильный синтаксис.Как я могу сделать эту работу?Заранее спасибо.

1 Ответ

0 голосов
/ 20 октября 2018

Просто используйте /binary и функции из модуля unicode для преобразования между кодировками.

Сначала ваш вопрос говорит о том, что вы строите строку, а затем читаете ее.При построении вы могли бы написать

Utf16Name = unicode:characters_to_binary(Name, utf8, utf16),
[<<"Hello, ", Utf16Name/binary>>]

РЕДАКТИРОВАТЬ: За исключением, конечно, это плохо: «Привет» будет UTF8!Это должно быть

unicode:characters_to_binary(<<"Hello, ", Name/binary>>, utf8, utf16)

или даже

unicode:characters_to_binary(["Hello, ", Name], utf8, utf16)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...