GoLang 解决中文乱码
首先需要下载
go get golang.org/x/text/encoding/simplifiedchinese
go get golang.org/x/text/transform
package main import ( "bytes" "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()) all, err := ioutil.ReadAll(reader) if err != nil { return all, err } return all, nil } //UTF-8 -> GBK func Utf8ToGbk(s []byte) ([]byte, error) { reader := transform.NewReader(bytes.NewReader(s), simplifiedchinese.GBK.NewEncoder()) all, err := ioutil.ReadAll(reader) if err != nil { return all, err } return all, nil } func main() { path := `D:\A\桌面\a.txt` open, _ := os.Open(path) all, _ := ioutil.ReadAll(open) utf8, _ := GbkToUtf8(all) fmt.Println(string(utf8)) }
浙公网安备 33010602011771号