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)
	}
相关推荐
qeen874 分钟前
【数据结构】栈及其C语言模拟实现
c语言·数据结构·学习·
codeejun6 分钟前
每日一Go-52、Go微服务--请求超时与熔断策略实战
微服务·golang·iphone
Aurorar0rua7 分钟前
CS50 x 2024 Notes C - 04
java·开发语言
我不是懒洋洋7 分钟前
深入理解C语言指针:从一级指针到函数指针
c语言
iCxhust12 分钟前
C#程序,窗体1向窗体2的textbox控件写入字符串“hello”
开发语言·c#
低客的黑调18 分钟前
Redis-不止是缓存
java·开发语言·数据库
花间相见22 分钟前
【大模型微调与部署02】—— ms-swift 自定义数据集完全教程:格式、dataset_info 配置、多格式兼容实战
开发语言·ssh·swift
Hello--_--World26 分钟前
JS:闭包、函数柯里化、工厂函数、偏函数、立即执行函数 相关知识点与面试题
开发语言·javascript·ecmascript
一只幸运猫.30 分钟前
字节跳动Java大厂面试版
java·开发语言·面试
xier_ran38 分钟前
【C++】“内部”、“外部”、“派生类”、“友元“类
java·开发语言·c++