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)
	}
相关推荐
酉鬼女又兒7 小时前
零基础快速入门前端ES6 核心特性详解:Set 数据结构与对象增强写法(可用于备赛蓝桥杯Web应用开发)
开发语言·前端·javascript·职场和发展·蓝桥杯·es6
人大博士的交易之路7 小时前
数据结构算法——python数据结构
开发语言·数据结构·python
Han_han9197 小时前
面向对象高级 继承(extends):
开发语言·python
前端老石人7 小时前
邂逅前端开发:从基础到实践的全景指南
开发语言·前端·html
初生牛犊不怕苦8 小时前
与AI一起学习《C专家编程》:数组与指针
c语言·学习·算法
白毛大侠8 小时前
Go Goroutine 与用户态是进程级
开发语言·后端·golang
ForteScarlet8 小时前
从 Kotlin 编译器 API 的变化开始: 2.3.20
android·开发语言·后端·ios·开源·kotlin
elseif1238 小时前
浅谈 C++ 学习
开发语言·c++·学习
SuperEugene8 小时前
Vue3 性能优化规范:日常必做优化(不玄学、可落地)|可维护性与兜底规范篇
开发语言·前端·javascript·vue.js·性能优化·前端框架
Binary-Jeff8 小时前
Spring 创建 Bean 的关键流程
java·开发语言·前端·spring boot·后端·spring·学习方法