Hi again<br>
<br>
I examined the data at byte level and here is what I found :<br>
<br>
1> binary_to_list(term_to_binary("test")).<br>
[131,107,0,4,116,101,115,116]<br>
<br>
2> binary_to_list(term_to_binary(test)).<br>
[131,100,0,4,116,101,115,116]<br>
<br>
3> binary_to_list(term_to_binary({test, "test"})).<br>
[131,104,2,100,0,4,116,101,115,116,107,0,4,116,101,115,116]<br><br>
whereas :<br>
<br>
OtpErlangString S = new OtpErlangString("test");<br>
OtpOutputStream B = new OtpOutputStream(S);<br>
B.toByteArray();<br>
[107, 0, 4, 116, 101, 115, 116]<br>
<br>
OtpErlangAtom S = new OtpErlangAtom("test");<br>
OtpOutputStream B = new OtpOutputStream(S);<br>
B.toByteArray();<br>
[100, 0, 4, 116, 101, 115, 116]<br>
<br>
OtpErlangObject O[] = {new OtpErlangAtom("test"), new OtpErlangString("test")};<br>
OtpErlangTuple T = new OtpErlangTuple(O);<br>
OtpOutputStream B = new OtpOutputStream(T);<br>
B.toByteArray();<br>
[104, 2, 100, 0, 4, 116, 101, 115, 116, 107, 0, 4, 116, 101, 115, 116]<br>
<br>
It seems the only difference is the leading 131 byte in erlang. Can
anyone confirm that it is always present ? If it is the case, I guess I
have my solution.<br>
<br>
Thanks again,<br>
<br>
--<br>
Olivier<br>
<br><div><span class="gmail_quote">2005/6/15, Olivier Sambourg <<a href="mailto:olivier.sambourg@gmail.com">olivier.sambourg@gmail.com</a>>:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi everyone<br>
<br>
I'm trying to encapsulate erlang data inside an XMPP (jabber) stream and retrieve the data with a java client.<br>
So on the server side it looks like this :<br>
<br>
1> httpd_util:encode_base64(binary_to_list(term_to_binary("test"))).<br>
"g2sABHRlc3Q="<br>
<br>
And on the client side I've tried the following :<br>
OtpErlangString S = new OtpErlangString("test");<br>
OtpOutputStream B = new OtpOutputStream(B);<br>
Base64.encodeObject(B.toByteArray()); -> "rO0ABXVyAAJbQqzzF/gGCFTgAgAAeHAAAAAHawAEdGVzdA=="<br>
Base64.encodeBytes(B.toByteArray()); -> "awAEdGVzdA=="<br>
Base64.encodeObject(B.toString()); -> "rO0ABXQALmNvbS5lcmljc3Nvbi5vdHAuZXJsYW5nLk90cE91dHB1dFN0cmVhbUBmNjQzOGQ="<br>
<br>
I've also tried to build an OtpErlangBinary from the OtpOutputStream, then use the toString() method, to no avail...<br>
<br>
(I'm using the Base64 java library from <a href="http://iharder.sourceforge.net/base64/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://iharder.sourceforge.net/base64/</a> but I guess the problem does not come from this)
<br>
<br>
Do you have any suggestions to my problem ? I guess I'm just not using
the right transformation in Java to reproduce the
binary_to_list(term_to_binary()) operation...<br>
<br>
Thank you<br>
<br>
--<br><span class="sg">
Olivier<br>
<br>

</span></blockquote></div><br>