clq
浏览(493) -
2017-11-12 15:56:43 发表
编辑
关键字: golang
[2017-11-12 16:01:41 最后更新]
golang 编码转换 gbk[转贴]
ziyouzhiqiu · 2015-01-17 16:00:36 · 14410 次点击 · 预计阅读时间 1 分钟 · 29分钟前 开始浏览
这是一个创建于 2015-01-17 16:00:36 的文章,其中的信息可能已经有所发展或是发生改变。
(一)golang 官方转换包
go get golang.org/x/text/encoding
https://godoc.org/golang.org/x/text
注:Go里面内建仅支持UTF8字符串编码,因此如果你用fmt.Printf之类的函数无法正常打印出字符串内容,而只能是一堆乱码!
导入package:
import (
"bytes"
"fmt"
"golang.org/x/text/encoding/simplifiedchinese"
"golang.org/x/text/transform"
"io/ioutil"
)
gbk转换:
src:="编码转换内容内容"
data, _ := ioutil.ReadAll(transform.NewReader(bytes.NewReader([]byte(src)), simplifiedchinese.GBK.NewEncoder()))
fmt.Println(data) //byte
fmt.Println(string(data)) //打印为乱码
(二)mahonia
导入package:
import (
"fmt"
"github.com/mahonia"
)
gbk转换:
src:="编码转换内容内容"
enc := mahonia.NewEncoder("GBK")
output := enc.ConvertString(src)
fmt.Println(output)
本文来自:CSDN博客
感谢作者:ziyouzhiqiu
查看原文:golang 编码转换 gbk
clq
2017-11-12 16:01:41 发表
编辑
我自己用的是 code.google.com\p\mahonia,代码类似于
strbytes, _ := base64.StdEncoding.DecodeString(string(slurp));
fmt.Printf("Part %q: %q\n", p.Header.Get("Foo"), strbytes);
enc := mahonia.NewDecoder("gbk");
//return enc.ConvertString(zstr)
fmt.Println(enc.ConvertString(string(strbytes)));
编译环境 1.7. mahonia 的代码好象不太好下载,源码应该有 3M .
NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.