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)
	}
相关推荐
灯澜忆梦5 小时前
【面向对象编程c++】| 指针与自定义数据类型
开发语言·c++·算法
Brilliantwxx5 小时前
【Linux】 自主shell编写巩固复习篇
linux·运维·服务器·开发语言
十年Java程序媛5 小时前
Java 多线程基础与锁机制详解|进程线程、锁升级、synchronized 与 Lock 对比
java·开发语言·spring boot
弯_弯5 小时前
FDE 的工程能力画像:数据接入、PoC 与可复用资产的落地口径
java·服务器·开发语言
雾沉川5 小时前
Visual C++运行库合集 v105.0 安装教程
开发语言·c++·dll
Logic1016 小时前
C语言/数据结构位运算题解:异或XOR找出被挑选一次的果子编号——只出现一次的数字
c语言·数据结构·算法·数组·位运算·时间复杂度·空间复杂度
niucloud-admin6 小时前
NIUCLOUD LITE AI开发文档—模块开发:支付管理
开发语言
dear_bi_MyOnly7 小时前
栈和队列:从原理到应用全解析
c语言·开发语言·c++·学习·分类
Want5957 小时前
Python大雪纷飞①
开发语言·python·数学建模
yujunl7 小时前
重写了一个BOM查询的脚本
开发语言