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)
	}
相关推荐
AI-小柒12 小时前
从零入门大语言模型(LLM):系统学习路线与实践指南
大数据·开发语言·人工智能·学习·信息可视化·语言模型·自然语言处理
hhy_smile12 小时前
Python environment and installation
开发语言·python
戌中横12 小时前
JavaScript 对象
java·开发语言·javascript
crossaspeed12 小时前
面向对象的三大特征和反射(八股)
java·开发语言
连山齐名12 小时前
程序员棋谱之一——单例模式
开发语言·单例模式
zfj32112 小时前
java synchronized关键字用法和底层原理
java·开发语言·轻量级锁·重量级锁·偏向锁·线程同步
沐雨风栉12 小时前
用 Kavita+cpolar 把数字书房装进口袋
服务器·开发语言·数据库·后端·golang
C++ 老炮儿的技术栈12 小时前
KUKA机器人程序抓料
linux·运维·c语言·人工智能·机器人·库卡
Henry Zhu12313 小时前
Qt Model/View架构详解(二):内置视图与模型
开发语言·qt
chao18984413 小时前
在Qt中实现任意N阶贝塞尔曲线的绘制与动态调节
开发语言·qt