golang 字符编码转换
时间:2018-07-19 09:47:02 +0800 CST 浏览:2133

字符编码转换,GBK转UTF8。

package main

import (
    "fmt"
    "unicode/utf8"

    "github.com/axgle/mahonia"
)

func main() {
    str := "\xCE\xD2\xB0\xD6\xB3\xAC\xBF\xE1_\xCA\xB5\xC1\xA6\xB3\xE8\xC5\xAE_\xC3\xBB\xC7\xAE\xD2\xB2\xD2\xAA\xB8\xF8\xC5\xAE\xB6\xF9\xC2\xF2\xB7\xA2\xBC\xD0"
    data := ConvertToString(str, "gbk", "utf-8")

    fmt.Println(data)
}

func ConvertToString(src string, srcCode string, tagCode string) string {
    if utf8.Valid([]byte(src)) { //判断src是否本身就是utf8
        return src
    }
    srcCoder := mahonia.NewDecoder(srcCode)
    srcResult := srcCoder.ConvertString(src)
    tagCoder := mahonia.NewDecoder(tagCode)
    _, cdata, _ := tagCoder.Translate([]byte(srcResult), true)
    result := string(cdata)
    return result
}


如果这篇文章对你有所帮助,可以通过下边的“打赏”功能进行小额的打赏。

本网站部分内容来源于互联网,如有侵犯版权请来信告知,我们将立即处理。


来说两句吧