字符编码转换,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
}
如果这篇文章对你有所帮助,可以通过下边的“打赏”功能进行小额的打赏。
本网站部分内容来源于互联网,如有侵犯版权请来信告知,我们将立即处理。