[erlang-questions] unexpected result of term_to_binary
Steve Davis
steven.charles.davis@REDACTED
Mon Jan 21 21:24:05 CET 2013
Even better solution is to send "lists of integers" as tuples:
2> term_to_binary({1,2,3,4}).
<<131,104,4,97,1,97,2,97,3,97,4>>
:-)
/s
On Jan 21, 2013, at 2:15 PM, Steve Davis <steven.charles.davis@REDACTED> wrote:
> Hi Dmitry,
>
> Unfortunately, Bert-js suffers from the same ambiguity client side.
>
> I have in fact found a reasonable hack which only costs an extra byte and is to prepend NIL_EXT to the list:
> 1> term_to_binary([[],1,2,3,4]).
> <<131,108,0,0,0,5,106,97,1,97,2,97,3,97,4,106>>
>
> Best,
> Steve
>
> On Jan 21, 2013, at 2:13 PM, Dmitry Kolesnikov <dmkolesnikov@REDACTED> wrote:
>
>> Hi Steve,
>>
>> There is a well document External Term Format protocol. I am not here to judge that protocol but it is implementable on other languages as well (https://github.com/rustyio/BERT-JS). Yes, it make sense in scopes of that protocol specification.
>>
>> Long time ago, I've been trying to use it for WebApp development and … switched to JSON. :-)
>> But I strongly believe that External Term Format make sense for other use-case...
>>
>>
>> Best Regards,
>> Dmitry
>>
>>
>> On Jan 21, 2013, at 10:00 PM, Steve Davis <steven.charles.davis@REDACTED> wrote:
>>
>>> Hi Dmitry,
>>>
>>> It "makes sense" only if the "binary_to_term" decode is done in erlang.
>>>
>>> br,
>>> /s
>>>
>>> On Jan 21, 2013, at 1:53 PM, Dmitry Kolesnikov <dmkolesnikov@REDACTED> wrote:
>>>
>>>> Hello,
>>>>
>>>> This make sense to me!
>>>>
>>>> term_to_binary/1 returns a binary data object which is the result of encoding Term according to the Erlang external term format. See http://erlang.org/doc/apps/erts/erl_ext_dist.html
>>>>
>>>> Use list_to_binary or unicode:character_to_binary depends on your use-case.
>>>>
>>>> - Dmitry
>>>>
>>>> On Jan 21, 2013, at 9:38 PM, Steve Davis <steven.charles.davis@REDACTED> wrote:
>>>>
>>>>> The following appears to encode lists of integers as strings (?!?):
>>>>>
>>>>> Eshell V5.9.3 (abort with ^G)
>>>>> 1> term_to_binary([1,2,3,4]).
>>>>> <<131,107,0,4,1,2,3,4>>
>>>>>
>>>>> Is there a reason for this that I'm missing?
>>>>>
>>>>> regs,
>>>>> /s
>>>>>
>>>>> _______________________________________________
>>>>> erlang-questions mailing list
>>>>> erlang-questions@REDACTED
>>>>> http://erlang.org/mailman/listinfo/erlang-questions
>>>>
>>>
>>
>
More information about the erlang-questions
mailing list