Erlang程序对中文字符的表示方法
来源:互联网 发布:其皆出于此乎的其 编辑:程序博客网 时间:2024/05/20 16:00
结论:
中文字符,在Erlang的存储方式,可以是List,也可以是Binary。
如果以List方式存储,即将中文字符,转为Unicode编码(长整数格式);
如果以Binary方式存储,即将中文字符,转为UTF-8编码。
至于Unicode与UTF-8的区别,简单来说,Unicode是一个码表,UTF-8是Unicode编码的一种表示方法。具体的区别,大家可问下谷歌或度娘。
例子:
start() ->
Str = "中国",
io:format("Unicode list is: ~p~n", [Str]),
Bin = unicode:characters_to_binary(Str),
io:format("Unicode binary is: ~p~n", [Bin]),
Str1 = unicode:characters_to_list(Bin, utf8),
io:format("utf8 binary to list is: ~p~n", [Str1]).
输出结果:
Eshell V6.4 (abort with ^G)
(andy1@pc.com)1> Unicode list is: [20013,22269]
(andy1@pc.com)1> Unicode binary is: <<228,184,173,229,155,189>>
(andy1@pc.com)1> utf8 binary to list is: [20013,22269]
(andy1@pc.com)1>
其中用到了unicode库函数,如果使用普通的erlang:list_to_binary或erlang:binary_to_list,会有编码问题。
在开发过程中,使用的一些第三方库,对中文支持或多或少都有些问题,各位按照此规则调试,可以解决。
- Erlang程序对中文字符的表示方法
- Erlang程序对中文字符的表示方法
- MSSQL注入时对中文字符的处理方法
- Erlang模块与Erlang程序的运行方法
- Core Erlang:Erlang的Core中间表示
- 法语特殊字符的html表示方法
- ASCII 字符的三种表示方法
- 对erlang程序进行debug
- 通过输入一串字符,首先判断这些字符是否全都是数字,不是的话程序结束;如果全是数字则转换为中文的大写表示
- 程序复杂度估计的表示方法
- erlang的程序打包
- erlang 程序的 批处理文件
- 运行Erlang的程序
- mac系统,macports安装时,调试erlang程序时,erlang的源码查找的方法
- JVM的字符表示
- 表示数值的字符
- Python中文路径表示方法
- 安卓中文本和按钮大小的表示方法
- HTML5+CSS3+JS学习笔记-2
- 155. Min Stack#3(Done)
- scala-疑点-编译helloworld报错,但运行正常。
- 文章标题
- 通讯录
- Erlang程序对中文字符的表示方法
- 第十四周 oj训练 输入一个数插入有序数组中
- 63. Unique Paths II**
- 总结67
- ConurrentHashMap和Hashtable的区别
- nyoj359Delete it
- 最小生成树(Minimum Spanning Tree)
- 第14周OJ实践 进制转换
- muduo库的EpollPoller剖析