Det handler om utf-8-kodning. I Erlang en liste over tegn, i dit tilfælde [240,159,152,130]
, er normalt ikke kodet, men er unicode-kodepunkterne. Da du hentede dataene, fik du en binær med utf-8-kodningsbytes af dine tegn. Præcis hvor denne kodning fandt sted, ved jeg ikke. Fra erlang-skallen:
10> Bin = <<195,176,194,159,194,152,194,130>>.
<<195,176,194,159,194,152,194,130>>
11> <<M/utf8,N/utf8,O/utf8,P/utf8,R/binary>> = Bin.
<<195,176,194,159,194,152,194,130>>
12> [M,N,O,P].
[240,159,152,130]
Håndtering af unicode i erlang er ret simpelt, tegn i lister er normalt unicode-kodepunkterne og er meget sjældent kodet, mens lagring af dem i binære filer betyder, at du skal kode dem på en eller anden måde, da binære filer kun er arrays af bytes. Standardkodningen er utf-8. I modulet unicode
der er funktioner til konvertering mellem unicode-lister og binære filer.