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)
	}
相关推荐
WJ.Polar11 小时前
Java封装、继承、多态
java·开发语言
96245611 小时前
Go EVM 链上数据平台实践:从 RPC Demo 到可演进架构
rpc·架构·golang
摇滚侠11 小时前
Java 中如何表示负数,有符号和无符号的区别,补码的计算规则,char byte short int long 的范围
java·开发语言
weixin_3077791312 小时前
C++代码实现MATLAB中的fitrtree函数功能
开发语言·c++·算法·matlab
爱读书的小胖12 小时前
Codewars:Rot13(C)解题分析
c语言·开发语言
鸽鸽程序猿12 小时前
【项目】【在线判题系统】b端题目增删改
开发语言·python
Lhappy嘻嘻12 小时前
读懂 JVM:内存模型、类加载机制、分代回收
java·开发语言·jvm
Code_Solitude12 小时前
c语言:关于qsoet函数知识点
c语言·数据结构·算法
weixin_3077791313 小时前
C++代码实现MATLAB中的spectralcluster函数功能
开发语言·c++·算法·matlab
鸽鸽程序猿13 小时前
【项目】【在线判题系统】c端:竞赛报名
c语言·开发语言