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)
	}
相关推荐
多彩电脑1 分钟前
Lua基础入门
开发语言·lua
码云骑士2 分钟前
29-Python-logging日志模块-print不是日志的生产级实战
开发语言·python
WWW65267 分钟前
代码随想录 打卡第五十八天
开发语言·c++·算法
少司府12 分钟前
C++基础入门:_stack_queue 底层奥秘
开发语言·数据结构·c++·栈和队列·queue·stack
Cheng小攸17 分钟前
协议分析与分析工具(二)
开发语言·php
z_鑫17 分钟前
深入理解MyBatis:collection集合封装的底层原理与实现细节
java·开发语言·数据库·spring boot·mybatis
贺国亚18 分钟前
06-奢侈零售VIP-Clienteling-Agent
开发语言·python·零售
我命由我1234521 分钟前
Android 开发问题:获取到的 Android ID 发生了变化
android·java·开发语言·java-ee·android studio·android jetpack·android runtime
nix.gnehc24 分钟前
Python 内存管理深度解析
开发语言·python
码上有光33 分钟前
c++: AVL树
开发语言·c++·avl树