Golang 中 GBK 与 UTF-8 的转换

1.导⼊ mahonia 包,创建 gb18030 Decoder 进⾏行编码转换
http://code.google.com/p/mahonia
例子:
import (
"bufio"
"code.google.com/p/mahonia"
"log"
"os"
)
func checkError(err interface{}) {
if err != nil {
log.Fatal(err)
}
}
func main() {
f, err := os.Open("test.txt")
checkError(err)
defer f.Close()
decoder := mahonia.NewDecoder("gb18030")
r := bufio.NewReader(decoder.NewReader(f))
line, _, err := r.ReadLine()
checkError(err)
println(string(line))
}
----选自《GO学习笔记》

2.许式伟 老师贡献的转换包
https://github.com/xushiwei/go-iconv
例子:
import (
"fmt"
"xushiwei.com/iconv"
)
func main() {
cd, err := iconv.Open("gbk", "utf-8")
if err != nil {
fmt.Println("iconv.Open failed!")
return
}
defer cd.Close()
gbk := cd.ConvString("你好,世界!")
fmt.Println(gbk)
}

你可能感兴趣的:(utf-8,gbk,golang)