erlang的对字符串处理支持 的却太差强人意。
erlang的字符串是用原子为int的list形式。对于erlang字符串不了解的推荐阅读 坚强2002 的博客 http://www.cnblogs.com/me-sa/archive/2012/05/31/erlang-unicode.html
对于erlang文件中的中文 在ISO-latin-1编码下编译会是8位的int型list。在unicode编译下回事16位的list。
8位的int型list 可以直接用erlang:list_to_bianry()将其转换为binary。比如这样
如果是16位的int型list 用erlang:list_to_binary就会报错 这时候我们一一般会用unicode:character_to_binary(),解决了不能转binary的问题。如果你这样做了的话,你就掉坑了。
我们来做一个实验
血一般的教训记住对于16位int型的list。转binary 要用 erlang:list_to_binary(unicode:character_to_list(X))
网友评论