<div dir="ltr">integer_to_binary/1 could be written as integer_to_binary(N) -> list_to_binary(integer_to_list(N)). Furthermore, what you ask for is not straightforward, given the numerous encodings of integers available. What if I wanted a 64-bit signed little-endian integer encoded in the binary? You can't tell i2b that, but you could do it with bit syntax:  <<65535:64/little-signed>>  ( <<0,0,1,0,0,0,0,0>> ).</div>
<div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Mar 18, 2014 at 9:15 AM, Valentin Micic <span dir="ltr"><<a href="mailto:valentin@pixie.co.za" target="_blank">valentin@pixie.co.za</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>Yes, you're right and this make sense at some level, particularly if the function I've called was</div>
<div><br></div><div>characters_to_binary/1.</div><div><br></div><div>Indeed, as Magnus Henoch mentioned in a related email, there is a function for conversion of unicode characters:</div><div><br></div><div>unicode:characters_to_binary/1;</div>
<div><br></div><div>So, why should the other one be called: list_to_binary/1 instead instead of characters_to_binary/1</div><div><br></div><div>If one disregard the existence of any previous knowledge, and given that a list may contain any number of arbitrary types, including a list itself,  what should be a reasonable expectation for (and here's the kicker -- not an input argument itself, for it is perfectly acceptable to assume it to be a list, but) a content of the input argument?</div>
<div><br></div><div>It's surprising (at least was to me) to expect a content of an input argument ( formerly known as <i>list </i>) to be limited to a list of octets, as much as it is surprising to see that  integer_to_binary( 65536 ) results in <<"65536">> instead of <<255,255>>, that is, surprising to se that it behaves like a shortcut to  <i>list_to_binary( integer_to_list( 65536 )).</i></div>
<div><br></div><div>On the other hand, it is what it is, and, in a way,  I am quite embarrassed that I assumed that integers would be automagically converted to appropriate number of octets, for this is just as unreasonable and arbitrary expectation. </div>
<div><br></div><div>Thank you for your responses.</div><div><br></div><div>Kind regards</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>V/</div></font></span><div><div class="h5"><div><br></div><div><div>
<div><br><div><div>On 18 Mar 2014, at 3:19 PM, Steve Vinoski wrote:</div><br><blockquote type="cite"><div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Mar 18, 2014 at 9:13 AM, Valentin Micic <span dir="ltr"><<a href="mailto:valentin@pixie.co.za" target="_blank">valentin@pixie.co.za</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word">Hi all,<div><br></div><div>

(my apologies if this has been covered already)</div><div><br></div><div>Is there any reason why:</div><div><br></div><div><div><i><font face="Menlo">(twist@macbookv)820> list_to_binary( lists:seq(1,255) ).</font></i></div>

<div><i><font face="Menlo"><<1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,</font></i></div><div><i><font face="Menlo">  22,23,24,25,26,27,28,29,…>></font></i></div><div><br></div><div>works, but </div>

<div><br></div><div><font face="Menlo">(twist@macbookv)821> list_to_binary( lists:seq(1,256) ).</font></div><div><font face="Menlo">** exception error: bad argument</font></div><div><font face="Menlo">     in function  list_to_binary/1</font></div>

<div><font face="Menlo">        called as list_to_binary([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,</font></div><div><font face="Menlo">                                  23,24,25,26,27,28|…])</font></div>
</div>
<div><br></div><div>breaks on <b>Erlang 16B02</b>? Was the limit to 255 characters for list_to_binary/1 always there and I just failed to see it before?</div></div></blockquote><div><br></div><div>This has nothing to do with the number of characters, but rather that you can't represent the value 256 in a byte:</div>

<div><br></div><div>1> list_to_binary([256]).</div><div>** exception error: bad argument</div><div>     in function  list_to_binary/1</div><div>        called as list_to_binary([256])</div><div><br></div><div>--steve</div>

</div></div></div>
</blockquote></div><br></div></div></div></div></div></div><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>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Sean Cribbs <<a href="mailto:sean@basho.com" target="_blank">sean@basho.com</a>><div>Software Engineer</div><div>Basho Technologies, Inc.</div><div><a href="http://basho.com/" target="_blank">http://basho.com/</a></div>

</div>