`
AvinDev
  • 浏览: 112404 次
社区版块
存档分类
最新评论

Erlang 字符编码模块: iconv

阅读更多
在Erlang中,要处理字符串编码的转换,可以使用iconv,目前CEAN的发行版本,ejabberd和iconv模块里面都有iconv的库,但是都无法正常运行(提示版本不兼容),但是在ejabberd的安装包可以使用。经过比较,发现是
erl.exe,erlexec.dll,beam.dll 这三个启动程序的问题,ejabberd的是V5.5.2.2,而CEAN1.2和ErlangOTP R11B4都是V5.5.4,可能两个版本跟iconv的c port不兼容。

下面就以ejabberd的erlang版本来说明:

首先启动port
引用
1> iconv:start().
{ok,<0.30.0>}


2> iconv:convert("gbk", "utf-8", "你好").
"浣犲ソ"


Windows下控制台编码为gbk,这里将“你好”编码为UTF8后输出,显示乱码,可以用io:format解决:
引用
3> io:format("~w~n", [iconv:convert("gbk", "utf-8", "你好")]).
[228,189,160,229,165,189]
ok


反过来流程是一样的:
引用
4> iconv:convert("utf-8", "gbk", [228,189,160,229,165,189]).
"你好"


要解决在Erlang发行版下使用的问题,估计要重新编译iconv的port。有谁有更好的方法,欢迎提出。
分享到:
评论

相关推荐

    erlang lib of iconv

    Erlang库中的iconv是一个用于字符编码转换的模块,它是Erlang编程语言与不同字符集之间交互的重要工具。Erlang是一种并发性极强、适合构建分布式系统的动态类型语言,而iconv库则提供了在Erlang环境中处理字符串编码...

    erlang-23.2.1-1.el7.x86-64.rpm

    Erlang:RabbitMQ 是用 Erlang 编写的,因此需要 Erlang 运行时。确保安装了兼容的 Erlang 版本;Erlang:RabbitMQ 是用 Erlang 编写的,因此需要 Erlang 运行时。确保安装了兼容的 Erlang 版本;Erlang:RabbitMQ ...

    erlang入门级练习:LeetCode OJ问题的部分erlang 源码

    我自己在新学erlang,在LeetCode OJ上找了题目练习,题目很适合新手熟悉语言,但是LeetCode OJ里面只有几门主流语言的答案,下面是已完成的erlang源代码,后续有空再做其他问题续传,题目包含:(源码开头都有题目...

    Centos7安装RabbitMQ的文档和安装包(包含erlang安装包).rar

    RabbitMQ基于Erlang编程语言,因此在安装RabbitMQ之前,我们需要先安装Erlang环境。本文将涵盖以下几个关键知识点: 1. **Erlang安装**: Erlang是RabbitMQ的基础,因为RabbitMQ是用Erlang编写的。首先,我们需要...

    Erlang安装包,版本:otp_win64_24.1.7.exe

    otp_win64_24.1.7.exe

    《Erlang之父:为什么面向对象很糟糕》PDF

    《Erlang之父:为什么面向对象很糟糕》PDF 《Erlang之父:为什么面向对象很糟糕》PDF 《Erlang之父:为什么面向对象很糟糕》PDF 《Erlang之父:为什么面向对象很糟糕》PDF 《Erlang之父:为什么面向对象很糟糕》PDF

    erlang两种参数模块化

    从给定的文件信息中,我们可以提炼出一些关于Erlang语言以及其参数化模块的重要知识点。 首先,Erlang是一种严格、动态类型的函数式编程语言。它的特点是没有破坏性更新,即数据不可变。Erlang内置了对并发的支持,...

    erlang 参考手册 模块部分--自己翻译的中文版

    - `-vsn(Vsn)`:指定模块的版本号,Vsn为任意字符串,若未指定,则默认为模块的MD5值。 4.2.2 行为模块特性 通过`-behaviour(Behaviour)`,模块可以声明为特定行为的回调模块,如OTP标准行为`gen_server`、`gen_fsm...

    Erlang and OTP in Action MEAP May 2010

    Erlang and OTP in Action Martin Logan, Eric Merritt, and Richard Carlsson MEAP Began: August 2008 Softbound print: May 2010 (est.) | 500 pages ISBN: 1933988789 Part One: Getting Past Pure Erlang; ...

    erlang-25.3.2.8-1.el8.x86-64

    对应rabbitmq 3.12.4,亲测可用

    erlang_ls:Erlang 语言服务器

    erlang_ls 一个实现微软语言服务器协议 3.15 的 Erlang 服务器。最低要求 快速开始编译项目: make要在/usr/local/bin安装生成的erlang_ls escript: make install命令行参数这些是可以提供给erlang_ls脚本的命令行...

    erlide (eclipse搭建erlang插件)

    完成编码后,可以通过"Run"菜单选择"Erlang Application"来运行程序。 6. **调试Erlang程序**: Erlide还提供了调试器,可以在代码中设置断点,进行单步调试,查看变量值等操作。 **Erlide的主要功能** 1. **代码...

    21天erlang

    Erlang是一种用于构建并发和分布式系统的编程语言,它非常适合于需要高容错性、低延迟和高可靠性的应用场景。由于其独特的设计,Erlang在电信、即时通讯、邮件服务器等领域有着广泛的应用。Erlang语言的学习曲线相对...

    ErlangB 损失公式:ErlangB 损失概率计算甚至非常高的数字。-matlab开发

    Erlang B 损失公式是电信网络和呼叫中心领域中的一个重要理论工具,用于预测在给定平均呼叫到达率和系统容量的情况下,系统发生拥塞导致呼叫损失的概率。这个公式由丹麦工程师 A.K. Erlang 提出,适用于无限制呼叫...

    erlang-bblm:BBEdit 的 Erlang 语言模块

    BBEdit 的 Erlang 语言模块 v1.4, (2018/01/14) Erlang语言模块为BBEdit 11和更高版本的Erlang编程语言引入了语法着色,自动完成,功能导航和代码折叠。 它识别以下 Erlang 文件: erlang 源代码 (.erl) erlang 包含...

    图书:Erlang和OTP实战

    《Erlang和OTP实战》是一本专注于Erlang编程语言和OTP(Open Telecom Platform)框架的专业书籍。这本书深入浅出地介绍了Erlang在分布式系统、并发处理以及高可用性设计中的应用,同时结合 OTP 提供了强大的工具和库...

    erlang文献及资料汇总

    erlang文献及资料汇总 入门资料: erlang中文手册(R11B 文档译文,最适合入门) erlang位运算与二进制解析 erlang二进制高效编程 erlang异常处理详解 开发经验: 面对软件错误构建可靠的分布式系统 编写分布式的 ...

    erlang 中文基础教程

    ### Erlang 中文基础教程:理解Erlang Shell与模块函数 #### 1. Erlang Shell:编程者的交互式环境 Erlang Shell是Erlang编程语言提供的一种交互式编程环境,允许开发者直接在命令行中编写、执行Erlang代码并观察...

Global site tag (gtag.js) - Google Analytics