- 浏览: 39119 次
- 来自: 深圳
文章分类
最新评论
-
ZacMa:
哈哈,突然感觉里面没怎么介绍,全是贴代码了
<8>redis及erl-redis阅读 -
惊涛翻案:
马博士,给我开课吧
<8>redis及erl-redis阅读
用mochiweb通过网页发送中文到服务器,结果服务器显示乱码,无论打印,还是存储日志,还是再次解析出来发往客户端均是乱码,网上搜索后发现了一些问题所在:编码不一致
erlang 字符编码的文章有很多,erlang默认是用latin1,不支持中文,
如果要支持中文,需要用其他编码,unicode常用, utf8是unicode中最常用的.
eshell也要是unicode编码才可以。否则不支持中文,当然如果用linux终端,例如我用的是centos,shell用的是xshell,xshell本身的编码也要设置正确; 如果eshell设置的是latin1中文都无法输入; 见图片
这样eshell才可以正常接收和显示中文;
编码转化为unicode,使用的时候要用ts格式才可以正常显示为中文,例如io:format等;
关于ts
The Erlang compiler will interpret the code as ISO-8859-1 encoded text, which limits you to Latin characters."translation modifier" when working with Unicode texts. The modifier is "t". When applied to the "s" control character in a formatting string, it accepts all Unicode codepoints and expect binaries to be in UTF-8.
看这个例子例如
打开utf8保存的文件
文件内容如下test.file:
[
{desc, "这是一个测试文件"},
{author, "litaocheng"}
].
其格式为erlang term,保存时选择utf8编码。
代码如下:
Erlang代码 %% read content from the file
test1() ->
{ok, [Terms]} = file:consult("test.txt"),
Desc = proplists:get_value(desc, Terms),
_Author = proplists:get_value(author, Terms),
% out put the Desc and Author
DescUniBin = iolist_to_binary(Desc),
DescUniList = unicode:characters_to_list(DescUniBin),
io:format("desc bin : ~ts~ndesc bin : ~p~n",[DescUniBin, DescUniBin]),
io:format("desc list: ~ts~ndesc list: ~p~n", [DescUniList, DescUniList]).
这样就可以显示中文,
1. http://erlangdisplay.iteye.com/blog/364389
2. http://www.cnblogs.com/me-sa/archive/2012/05/31/erlang-unicode.html
erlang 字符编码的文章有很多,erlang默认是用latin1,不支持中文,
如果要支持中文,需要用其他编码,unicode常用, utf8是unicode中最常用的.
eshell也要是unicode编码才可以。否则不支持中文,当然如果用linux终端,例如我用的是centos,shell用的是xshell,xshell本身的编码也要设置正确; 如果eshell设置的是latin1中文都无法输入; 见图片
这样eshell才可以正常接收和显示中文;
编码转化为unicode,使用的时候要用ts格式才可以正常显示为中文,例如io:format等;
关于ts
The Erlang compiler will interpret the code as ISO-8859-1 encoded text, which limits you to Latin characters."translation modifier" when working with Unicode texts. The modifier is "t". When applied to the "s" control character in a formatting string, it accepts all Unicode codepoints and expect binaries to be in UTF-8.
看这个例子例如
打开utf8保存的文件
文件内容如下test.file:
[
{desc, "这是一个测试文件"},
{author, "litaocheng"}
].
其格式为erlang term,保存时选择utf8编码。
代码如下:
Erlang代码 %% read content from the file
test1() ->
{ok, [Terms]} = file:consult("test.txt"),
Desc = proplists:get_value(desc, Terms),
_Author = proplists:get_value(author, Terms),
% out put the Desc and Author
DescUniBin = iolist_to_binary(Desc),
DescUniList = unicode:characters_to_list(DescUniBin),
io:format("desc bin : ~ts~ndesc bin : ~p~n",[DescUniBin, DescUniBin]),
io:format("desc list: ~ts~ndesc list: ~p~n", [DescUniList, DescUniList]).
这样就可以显示中文,
1. http://erlangdisplay.iteye.com/blog/364389
2. http://www.cnblogs.com/me-sa/archive/2012/05/31/erlang-unicode.html
发表评论
-
erlang版本安装相关问题 <32>
2014-05-10 15:54 627<1> erlang R1603安装后,crytp ... -
关于iolist<30>
2014-01-15 10:42 631iolist是比较常用的数据结构. iolist的 ... -
<27>erlang record
2013-11-19 11:19 779平时总是忘记record的某些使用方法,每次使用都要翻文档, ... -
<26>io:format io_lib:format
2013-11-14 11:07 1319使用io_lib时候要注意参数,尤其是封装json串的时候,否 ... -
<24>用error_logger间隔记录日志
2013-10-22 16:09 655执行下面的代码 test:start(). test.erl ... -
<23>erlang 数据存储
2013-10-15 22:15 1664做为后端开发者,经常 ... -
<22> erlang中的数学计算函数相关
2013-10-10 10:34 16361. 幂函数 match:pow(m,n) 表示m的n次幂 ... -
<20>erlang中的类型和函数说明
2013-09-15 11:25 986erlang是一种动态类型的语言(运行时才决定数据类型),可以 ... -
<19>erlang中的时间,日期
2013-09-06 11:21 1200时间函数涉及的数据类型: DATA TYPES datetim ... -
<18>Efficient guide 之List handling
2013-08-31 18:45 6821 Deep and flat lists lists:fl ... -
<17>Efficiency Guide之Function
2013-08-27 22:30 5821. 函数模式匹配 模式匹配,在函数头,case和receiv ... -
<16>Efficiency Guide之Common Caveats
2013-08-11 11:07 814(1) ++ 如果做一个list的反转,不要这样, naiv ... -
<15> lists模块补充
2013-08-05 20:12 831%% 对list模块经常用到的进行补充 %% 1 对所有元素进 ... -
<15> lists模块解析和补充
2013-07-24 17:57 12%% 对list模块经常用到的进行补充 %% 1 对所有元素 ... -
<12>简述erlang的几种错误
2013-04-14 23:31 11861) badarg Bad argument. The ar ... -
<11>erlang中方便使用的模块和命令(2)
2013-04-06 22:33 803(1) 进程字典到底用不用,很多人推荐使用 http:// ... -
<9>rabbitmq网络层
2013-01-31 00:20 820抽离出了网络层, 逻辑层待以后研究 https://gith ... -
<8>redis及erl-redis阅读
2013-01-16 10:14 8551 redis的功能相当的强大,里面的发布订阅pub/su ... -
<7>pg2 分析
2012-12-08 13:42 1260网上看到erlang的pg2模块似乎没人推荐使用,但是还是有不 ... -
<6>error_logger 使用
2012-12-02 16:24 1455erlang中日志管理主要有error_loggger 模块, ...
相关推荐
Erlang库中的iconv是一个用于字符编码转换的模块,它在处理多语言文本和不同编码格式时扮演着重要角色。Erlang是一种并发、分布式、面向进程的编程语言,常用于构建高可用性和容错性的系统。在这个库中,iconv提供了...
2. **编码(Encoding)**: 将 Erlang 数据结构转换为 JSON 字符串或二进制。这个过程允许我们从 Erlang 程序生成符合 JSON 标准的输出。 3. **性能优化**: Jiffy 被设计为快速和内存效率高,适合在性能敏感的场景下...
< Sextet>>) -> [ todigit ( Sextet )| encode ( Rest )]; 在上面的代码段中,一组六位从较大的二进制数据块中分离出来。 即使Rest部分不能被8整除,这也可以工作。 todigit只是将每个六位的可能映射映射到相应的...
首先,我们需要理解Erlang中的字符编码。Erlang标准库默认使用Unicode(通常是UTF-8)作为其内部字符串表示。这意味着所有内部的文本数据都应该以UTF-8编码。然而,在与其他系统交互,如读取或写入文件时,如果编码...
<<Res:32>> = <<1, 2, 3, 4>> bxor <<5, 6, 7, 8>>, Res. ``` 上面的代码展示了如何对两个 binary 进行按位异或操作。 #### 结论 通过引入 bit strings 和 binary comprehensions,Erlang 在处理位和字节级别...
同时,也可以使用特殊的字符编码(如ASCII)来表示字符,如:`$s-32` 表示大写的"S"。 #### 5. 高级特性与函数式编程 - **匿名函数**: Erlang支持定义匿名函数,例如: ```erlang Double = fun(X) -> 2 * X end....
在处理字符编码时,Erlang支持多种编码格式,其中包括UTF-8和Unicode。在Erlang中,UTF-8是一种常见的用来表示Unicode字符的编码方式,因为它既能有效地存储大多数常见字符,又具有良好的向后兼容性。 在Erlang R14...
Erlang 编码风格指南理论易于维护的代码应该: 看起来它是由单个实体编写的遵循社区最佳实践和习惯用法适合测试、指标收集和其他审查/验证使查找处理系统特定问题的代码变得容易我们为其他开发人员编写代码,而不是...
9. **文本编码:**Erlang默认使用Unicode(UTF-8)编码,方便处理各种字符集。 这个"esl-erlang_22.0~windows_amd64.exe.7z"文件是Erlang的压缩包,采用7-Zip压缩格式。7-Zip是一种开源的文件压缩软件,提供更高的...
#{<<"age">> => 30, <<"city">> => <<"New York">>, <<"name">> => <<"John">>} 3> ErlangMap = #{'name' => "John", 'age' => 30, 'city' => "New York"}. #{'age' => 30,'city' => 'New York','name' => 'John'} 4...
这些文件可能包括`.xml`扩展名的文档,它们详细列出了Erlang的关键字、注释、字符串、常量等元素,并指定了它们在编辑器中的显示方式。 在提供的压缩包子文件的文件名称列表中: 1. "SourceForge_...
Erlang编码标准和准则 建议的阅读材料: : 目录: 荣耀干 按功能对子目录中的模块进行分组 头文件 句法 不要写意粉代码 避免动态通话 避免深层嵌套 避免如果表达式 避免嵌套尝试... 命名 命名时要保持一致 显式...
标题 "erlang json rfc4627" 指涉的是Erlang语言实现对JSON(JavaScript Object Notation)的解析和编码,遵循RFC4627规范。JSON是一种轻量级的数据交换格式,被广泛应用于Web服务和分布式系统之间传递数据。RFC4627...
Base58 表示法使用的表示法几乎没有歧义字符,这使得人类更容易验证 Base58 字符串是否正确。 用法 下面的例子演示了这个模块的用法: 1 > base58 : integer_to_base58 ( 16#00010966776006953D5567439E5E39F86A0...
学习 Erlang:编码教程 有人可以解释一下 Erlang 中 Pid 的结构吗? 并发编程 错误和过程 列表 Erlang 的重大变化 流程 “绿色线程”和 Erlang 的进程有什么区别? 特别是关于 Erlang/OTP 和多核性能 通信顺序过程...
purestyle个人主页用于跟踪播放列表的网络应用。 这些播放列表可以包含来自不同来源(YouTube,spotify等)... 查看转换: file -i (linux) file -I (macos) 变更转换: iconv -f utf-8 -t iso-8859-1 < file> file.new
1. 解析(Parsing):jsx能够将JSON格式的字符串或二进制数据转换为Erlang术语(term)。这个过程涉及到解析JSON文本,并将其转换成Erlang可以理解的数据结构,如列表、元组和原子等。jsx支持两种解析模式:安全解析...
4. **XMLErlang**:`erlsom` 还支持XMLErlang,这是一种将Erlang术语编码为XML的格式,用于在Erlang系统之间交换数据。 **使用erlsom** 在`erlsom-master` 压缩包中,包含了`erlsom` 的源代码和可能的示例。要使用...