【发布时间】:2013-02-17 19:49:48
【问题描述】:
如何格式化以下 erlang 术语:
{ atom, "message" }
在 jInterface 中转换为我可以在 erlang shell 中调用的外部格式
erlang:binary_to_term( Binary )
示例: 请注意,由于元组将通过网络发送,因此我通过转换为 byte[] 来完成。
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
Erlang 接收到的二进制文件是:
B = <<104,2,100,0,4,97,116,111,109,107,0,7,109,101,115,115,97,103,101>>
然后在 erlang shell 中将接收到的术语转换为二进制给出一个 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>>)
【问题讨论】:
-
对不起,我真的不明白你的问题和你在这里问什么..你能更准确吗?
-
为什么我的 java jInterface 代码没有创建完整的 BERT 术语?
-
为什么是二进制表示?您是在使用套接字还是使用连接到 erlang 的 java 节点?
标签: java erlang jinterface