GO语言中文字符串编码转换

GO语言中文字符串编码转换

golang在处理中文字符串编码的时候默认的编码方式为UTF-8,今天在处理某些硬件对接的时候,需要用到GBK2312编码后的字符串。golang官方提供了simplifiedchinese包用于中文字符串的编码方式处理,以下为解决思路。

import (
	"fmt"
	"golang.org/x/text/encoding/simplifiedchinese"
)

// 字符串GBK2312编码方式解码方法
func str2gbk(text string) []byte{
	TextBuff, err := simplifiedchinese.GBK.NewEncoder().String(text)
	if err != nil {
		fmt.Println(err)
	}
	return TextBuff
}

今天在处理电子屏对接的时候再次遇到了中文编码的问题,采用了另一种方式解决。

import (
	"fmt"
	"github.com/axgle/mahonia"
)

// 字符串GBK2312编码方式解码方法
func str2gbk(text string) []byte{
	enc:=mahonia.NewEncoder("gbk")
	TextBuff := []byte(enc.ConvertString(text))
	if err != nil {
		fmt.Println(err)
	}
	return TextBuff
}

版权声明:本文为weixin_43919745原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。