go语言中的UTF |
您所在的位置:网站首页 › gbk编码转换为中文 › go语言中的UTF |
场景: 在做网页爬虫类项目时候,经常会遇到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-8 func 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 转 GBK func 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)) } }测试: image.png |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |