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)
	}
相关推荐
吾皇斯巴达几秒前
O_DIRECT与gcsfuse的go程序中实现内存页面对齐
开发语言·后端·golang
光电的一只菜鸡17 分钟前
高通tuning中eis需要调什么
java·开发语言·前端
兔兔兔兔118 分钟前
记录C++ 12
开发语言·c++
丰锋ff35 分钟前
基于 Qt 的智能门禁系统(三)
开发语言·qt
消费知多少1 小时前
解析勤策签约大西洋焊接费用核销实践案例
开发语言·c#
小柯博客1 小时前
06 · 统一 libcamerasrc 与架构定型:3A、CPU 归因与一次黑屏回归
c语言·stm32·单片机·嵌入式硬件·架构·嵌入式·视频编解码
LabVIEW开发1 小时前
LabVIEW按段拆分TDMS文件的格式边界与重构
开发语言·数据库·重构·labview·labview知识·labview功能·labview程序
asdzx672 小时前
使用 Python 为 Excel 添加各类数据验证规则
开发语言·python·excel
Romantic_love_2 小时前
理解USART真实收发过程
开发语言·stm32·单片机·学习
撩得Android一次心动2 小时前
Kotlin 语言【知识点整理3】
java·开发语言·笔记·学习·kotlin