测试:
1> Hanzi = <<”汉字”/utf8>>.
<<230,177,137,229,173,151>>
2> io:format(“~ts”,[Hanzi]).
汉字ok
3> io:format(“~w”,[Hanzi]).
<<230,177,137,229,173,151>>ok
22> unicode:characters_to_binary(“中国”).
<<228,184,173,229,155,189>>
结论:
中文字符,在Erlang的存储方式,可以是List,也可以是Binary。
如果以List方式存储,即将中文字符,转为Unicode编码(长整数格式);
如果以Binary方式存储,即将中文字符,转为UTF-8编码。
至于Unicode与UTF-8的区别,简单来说,Unicode是一个码表,UTF-8是Unicode编码的一种表示方法。具体的区别,大家可问下谷歌或度娘。
例子:
start() ->