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)
	}
相关推荐
栈溢出了3 分钟前
VS Code Python 自动导包失效排查笔记
开发语言·笔记·python
朝朝辞暮i9 分钟前
C++ 第 28 课:Lambda 表达式
开发语言·c++·算法
Frank_refuel15 分钟前
深入理解RpcRouter(远端调用模块)
开发语言·qt
黑科技iOS上架26 分钟前
双引擎解决oc/swift开发引用加固难题
开发语言·ios·swift·审核·ios混淆·执行程序差异化
yujunl26 分钟前
U9客开中UI插件开发过程中碰到有一个坑
开发语言
iCxhust30 分钟前
C语言struct结构体实现类定义
c语言·开发语言·单片机·嵌入式硬件·51单片机
ESDWAN40 分钟前
跨境电商网络专线怎么选?从带宽、延迟到SD-WAN部署与带宽管理的完整落地指南
开发语言·网络·php
web打印社区1 小时前
Lodop 提示未安装或请升级:Chrome 里先分清该装哪套
开发语言·前端·javascript·chrome·websocket·http
重生之我复员之后重当黄毛1 小时前
vscode配置c/c++环境
c语言·前端·visual studio
shangan_31 小时前
C语言学习
c语言·开发语言·学习