Преобразовать строку JavaScript в двоичный термин Erlang

У меня есть ковбой ws-обработчик с двоичным сопоставлением с образцом следующим образом:

websocket_handle({text, <<"Reg: ",Message/binary>>}, Req, State)

Мне нужно вызвать этот обработчик с кодом js, поэтому я использую Bert.js для кодирования строковой переменной js в двоичный термин erlang следующим образом:

 websocket.send(Bert.encode(Bert.binary("<<\"Reg: \" , \""+input2 + "\">>")));

Но я не мог вызвать моего обработчика с этим закодированным аргументом!!

Мой закодированный аргумент неверен? или есть другой способ сделать двоичный член Эрланга с JS?

2 ответа

Я использовал строку brut js, и теперь она работает.

websocket.send("Reg: " +input2 );

Я не использовал Bert, но кажется, что Bert.encode принимает в качестве аргумента строку, которую необходимо преобразовать в двоичный файл.

Нотация Эрланга использует <<...>> определить термин как двоичный, а внутренний "..." сказать компилятору или пользователю, что элементы двоичного файла являются символами ascii. Они не являются частью самого двоичного файла и не должны передаваться в функцию Bert.binary.

я думаю что Bert.binary("Reg: " + input2) верно.

Другие вопросы по тегам