场景:
做网页爬虫项目时,经常会遇到gbk/GB2312等中文编码。此时需要编码转换。
使用
Go 官方的 golang.org/x/text 您还可以直接查看包实现的代码:
https://github.com/golang/text/tree/master/encoding/simplifiedchinese
我们可以直接下载使用
go get golang.org/x/text
代码如下:
/*Golang 中的 UTF-8 与 GBK 编码转换 */\package main\import ( "bytes" "fmt" "golang.org/x/text/encoding/simplifiedchinese" "golang.org/x/text/transform" "io/ioutil")\// GBK 转 UTF-8func GbkToUtf8(s []byte) ([]byte, error) { reader := transform.NewReader(bytes.NewReader(s), simplifiedchinese.GBK.NewDecoder()) d, e := ioutil.ReadAll(reader) if e != nil { return nil, e } return d, nil}\// UTF-8 转 GBKfunc Utf8ToGbk(s []byte) ([]byte, error) { reader := transform.NewReader(bytes.NewReader(s), simplifiedchinese.GBK.NewEncoder()) d, e := ioutil.ReadAll(reader) if e != nil { return nil, e } return d, nil}\// 编码转换测试func main() {\ s := "[debug]: 编码转换测试"\ gbk, err := Utf8ToGbk([]byte(s)) if err != nil { fmt.Println(err) } else { fmt.Println(string(gbk)) }\ utf8, err := GbkToUtf8(gbk) if err != nil { fmt.Println(err) } else { fmt.Println(string(utf8)) }}
测试:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至827202335@qq.com 举报,一经查实,本站将立刻删除。文章链接:https://www.eztwang.com/dongtai/65485.html