Как отформатировать следующий Erlang термин:jInterface создать внешний Erlang срок
{ atom, "message" }
В jInterface на внешний формат, который я могу позвонить в Erlang оболочки
erlang:binary_to_term(Binary)
Пример: Обратите внимание: поскольку кортеж будет отправлен по сети, я заканчиваю конвертированием в байт [].
OtpErlangObject[] msg = new OtpErlangObject[2];
msg[0] = new OtpErlangAtom("atom");
msg[1] = new OtpErlangString("message");
OtpErlangTuple reply = new OtpErlangTuple(msg);
OtpOutputStream stream = new OtpOutputStream(reply);
stream.toByteArray() // byte[] which I send over net
Двоичный получен Эрланга является:
B = <<104,2,100,0,4,97,116,111,109,107,0,7,109,101,115,115,97,103,101>>
Затем в Эрланга оболочке преобразования принятого в двоичный термин дает badarg.
binary_to_term(B).
** exception error: bad argument
in function binary_to_term/1
called as binary_to_term(<<104,2,107,0,4,97,116,111,109,107,0,7,109,
101,115,115,97,103,101>>)
извините, но я действительно не могу понять вашу проблему и то, что вы здесь задаете. Не могли бы вы уточнить? – user601836
Почему мой java-код jInterface не создает полный термин BERT? – BAR
Почему двоичное представление? вы работаете с сокетами или с узлом java, подключенным к erlang? – user601836