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)
	}
相关推荐
deviant-ART7 分钟前
java stream 的 findFirst 和 findAny 踩坑点
java·开发语言·后端
jgec215 分钟前
哈工大计算机系统2024大作业——Hello的程序人生
c语言·计算机系统
Hical_W18 分钟前
C++ 也能优雅写 Web?5 分钟用 Hical 搭建 REST API
开发语言·c++·github
历程里程碑20 分钟前
55 Linux epoll高效IO实战指南
java·linux·服务器·开发语言·前端·javascript·c++
何包蛋H21 分钟前
Java并发编程核心:JUC、AQS、CAS 完全指南
java·开发语言
云深麋鹿38 分钟前
C++ | 容器stack&queue
开发语言·c++
比老马还六39 分钟前
element-ui,使用el-table时,type=“expand“和fixed一起使用坑
开发语言·javascript·ui
Xiu Yan39 分钟前
Java 转 C++ 系列:STL容器之list
java·开发语言·数据结构·c++·stl·list·visual studio
幸运小圣1 小时前
Array.prototype.reduce 全面解析【JS方法】
开发语言·javascript·原型模式
小蜜蜂嗡嗡1 小时前
flutter 自定义走马灯,内部为Widget控件的走马灯效果二:横向无限匀速滚动+每个Item与屏幕左侧对齐时,停靠3秒再继续滚动
开发语言·flutter