c字符串转go字符串

【1】问题:如何将带中文的char*转utf8

【2】问题分析:

默认的带中文的char*的编码格式是GBK,也就是中文是占两个字节,而数字、字母和其他字符是占一个字节,如"hao好"就是占5个字节

但是UTF-8,汉字是占3个字节,如"hao好"就是占6个字节

【3】解决办法

Go 复制代码
import (
	
	"golang.org/x/text/encoding/simplifiedchinese"
	"golang.org/x/text/transform"
    "C"
)



    s:=C.CString("hao好")
    // 创建转换器
	transformer := simplifiedchinese.GBK.NewDecoder()

	// 通过转换器转换编码
	utf8Content, err := ioutil.ReadAll(transform.NewReader(
		bytes.NewReader([]byte(s)),
		transformer,
	))
	if err != nil {
		panic(err)
	}
相关推荐
fufu031115 分钟前
vscode配置C/C++环境,用GDB调试简单程序分享
开发语言·c++
快乐江湖21 分钟前
「层层包装」—— 装饰器模式
开发语言·python·装饰器模式
java1234_小锋22 分钟前
String、StringBuilder、StringBuffer的区别?
java·开发语言
星原望野23 分钟前
JAVA集合:List、Set和Map
java·开发语言·list·set·map·集合
摘星小杨1 小时前
如何在前端循环调取接口,实时查询数据
开发语言·前端·javascript
yujunl1 小时前
U9的UI插件客开的总结1
开发语言
多敲代码防脱发1 小时前
Spring进阶(容器实现)
java·开发语言·后端·spring
小新同学^O^2 小时前
简单学习 --> 模型微调
开发语言·人工智能·python·模型微淘
水云桐程序员2 小时前
C++变量的概念及用法
开发语言·c++
水饺编程2 小时前
第5章,[Win32 章节] :几种典型的颜色
c语言·c++·windows·visual studio