Go中进行字符集转换

lovegolang · 2013-04-13 15:07:08 · 13021 次点击    
这是一个分享于 2013-04-13 15:07:08 的资源,其中的信息可能已经有所发展或是发生改变。

Go代码本身是UTF-8的,而且官方没有提供相关字符集的转换库。不过,目前已经有一些开源库支持字符集转换。

  1. iconv-go,通过cgo封装了iconv库;
  2. qiniu iconv,同样通过cgo封装iconv库;
  3. go-charset,支持UTF-8转换为其他字符集(非iconv库),同时也封装了iconv,提供更多字符集的转换;
  4. Mahonia—a character-set conversion library for Go,完全go实现;

其中,iconv-go和qiniu iconv的区别

1)iconv-go提供的接口更符合golang的风格;

2)iconv-go使用也更方便

推荐iconv-go

使用方式参考官方提供的例子。

Mahonia,完全采用go实现,值得看看源码实现


入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

13021 次点击  
加入收藏 微博
8 回复  |  直到
gs272
gs272 · #1 · 12年之前

编译iconv-go包时出现converter.go:4:19: iconv.h: No such file or directory错误 是什么意思啊? 而且converter.go这个文件中

import "C"

"C"这个包是哪里的,怎么没见过?

lovegolang
lovegolang · #2 · 12年之前
gs272gs272 #1 回复

编译iconv-go包时出现converter.go:4:19: iconv.h: No such file or directory错误 是什么意思啊? 而且converter.go这个文件中 import "C" "C"这个包是哪里的,怎么没见过?

你是通过 go get下载的吧?你看下converter.go最开始有没有

#cgo freebsd LDFLAGS: -liconv
#cgo linux LDFLAGS: -liconv
#cgo windows LDFLAGS: -liconv

如果没有,加上吧。通过go get方式下载下来的,不知道为啥没有这个,如果直接git clone下来是有这个的。

另外,该包使用了cgo,因此有import "C"这样的语句。想要了解更多cgo的只是,参看官方文档吧。

jianfengye110
jianfengye110 · #3 · 12年之前

soga ~ mark

qq277049
qq277049 · #4 · 12年之前

win下这么安装iconv?

lauking
lauking · #5 · 11年之前

谢谢分享

wangyanlb
wangyanlb · #6 · 10年之前

还是第三个好用

GiXuan
GiXuan · #7 · 9年之前

iconv如何在Windows下安装呢,我的也提示找不到iconv.h呢。请知道的朋友教教我。

polaris
polaris · #8 · 8年之前

补充官方的:simplifiedchinese

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传