<br><br><div class="gmail_quote">On Mon, Jan 21, 2013 at 8:38 PM, Steve Davis <span dir="ltr"><<a href="mailto:steven.charles.davis@gmail.com" target="_blank">steven.charles.davis@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
The following appears to encode lists of integers as strings (?!?):<br>
<br></blockquote><div><br></div><div>No no no  - Erlang doesn't have strings - there are no strings in Erlang</div><div>(repeat this 100 times).</div><div><br></div><div>There are two internal types commonly used to represent strings</div>
<div>lists and binaries.</div><div><br></div><div>There are also string literals (ie things in programs like "aaaaabbbbb") these are</div><div>just shorthand for lists of integers.</div><div><br></div><div>term_to_binary(Term) converts Term to a Binary (Bin). You're not supposed to know whats *in* the binary. All you need to know is that binary_to_term(Bin) is</div>
<div>the inverse.</div><div><br></div><div>It's like the bits in a float - you're not supposed to know what the bits mean</div><div><br></div><div>99.999999% of all programs should not know what the *internal* structure</div>
<div>of the thing returned by  term_to_binary is (if you want to know it's the</div><div>term represented in the external format (<a href="http://erlang.org/doc/apps/erts/erl_ext_dist.html">http://erlang.org/doc/apps/erts/erl_ext_dist.html</a>)</div>
<div><br></div><div>Just about the *only* reason to call term_to_binary is that at some later time</div><div>somebody will call binary_to_term on the result.</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Eshell V5.9.3  (abort with ^G)<br>
1> term_to_binary([1,2,3,4]).<br>
<<131,107,0,4,1,2,3,4>><br>
<br>
Is there a reason for this that I'm missing?<br></blockquote><div><br></div><div><<131,107,...>></div><div><br></div><div>Is *not* a string - it's a binary literal</div><div><div><br></div><div>2> binary_to_term(<<131,107,0,4,1,2,3,4>>).</div>
<div>[1,2,3,4]</div></div><div><br></div><div>Cheers</div><div><br></div><div>/Joe</div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br>
regs,<br>
/s<br>
<br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</blockquote></div><br>