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))
posted @ 2021-07-06 14:20  vaen  阅读(533)  评论(0)    收藏  举报