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)
	}
相关推荐
人道领域几秒前
【零基础学java】(反射)
java·开发语言
ghie90909 分钟前
GPS抗干扰算法MATLAB实现
开发语言·算法·matlab
ytttr87316 分钟前
基于MATLAB解决车辆路径问题(VRP)
开发语言·matlab
我是海飞17 分钟前
杰理 AC792N WebSocket 客户端例程使用测试教程
c语言·python·单片机·websocket·网络协议·嵌入式·杰理
沛沛老爹18 分钟前
Web开发者突围AI战场:Agent Skills元工具性能优化实战指南——像优化Spring Boot一样提升AI吞吐量
java·开发语言·人工智能·spring boot·性能优化·架构·企业开发
一只爱学习的小鱼儿21 分钟前
在QT中使用饼状图进行数据分析
开发语言·qt·数据分析
项目題供诗37 分钟前
C语言基础(三)
c语言·c++
亓才孓39 分钟前
[认识异常和错误]java
java·开发语言
码农水水1 小时前
中国电网Java面试被问:流批一体架构的实现和状态管理
java·c语言·开发语言·面试·职场和发展·架构·kafka
1***43801 小时前
C++跨平台开发的核心挑战线程管理等基础功能
开发语言·c++