Ini semua tentang pengkodean utf-8. Di Erlang daftar karakter, dalam kasus Anda [240,159,152,130]
, biasanya tidak dikodekan tetapi merupakan titik kode unicode. Saat Anda mengambil data, Anda mendapatkan biner yang berisi dengan utf-8 encoding byte karakter Anda. Di mana tepatnya pengkodean ini terjadi, saya tidak tahu. Dari cangkang erlang:
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]
Menangani unicode di erlang cukup sederhana, karakter dalam daftar biasanya merupakan titik kode unicode dan sangat jarang dikodekan, sementara menyimpannya dalam binari berarti Anda harus menyandikannya dalam beberapa cara, karena binari hanyalah array byte. Pengkodean default adalah utf-8. Dalam modul unicode
ada fungsi untuk mengkonversi antara daftar unicode dan binari.