Go语言好用的编码转化库UTF-16 -> UTF-8
源码
https://github.com/axgle/mahonia
场景:修改utf-16的xml
// 假设有一个uft-16的xml
distFilePath := "utf16.xml"
fArr, err := ioutil.ReadFile(distFilePath)
if err != nil {
return "", err
}
dec := mahonia.NewDecoder("utf16")
// UTF-16 -> UTF-8
fStr:=dec.ConvertString(string(fArr))
// 编辑修改
...
// 重新写入 UTF-8 -> UTF-16
triFile, _ := os.OpenFile("myTri.xml", os.O_RDWR|os.O_CREATE, 0644)
defer triFile.Close()
enc := mahonia.NewEncoder("utf16")
fStr= enc.ConvertString(fStr)
triFile.Write([]byte(fStr))
【勤则百弊皆除】