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)
	}
相关推荐
Shadow(⊙o⊙)5 分钟前
C++常见错误解析2.0
开发语言·数据结构·c++·后端·学习·算法
谢谢 啊sir9 分钟前
L2-057 姥姥改作业 - java
java·开发语言
l1t10 分钟前
duckdb excel插件和rusty_sheet插件在python中的不同表现
开发语言·python·excel
人道领域13 分钟前
【黑马点评日记】高并发秒杀:库存超卖与锁机制解析
java·开发语言·redis·spring·intellij-idea
lsx20240618 分钟前
《jEasyUI 创建树形下拉框》
开发语言
minji...23 分钟前
Linux 网络套接字编程(一)端口号port,socket套接字,socket,bind,socket 通用结构体
linux·运维·服务器·开发语言·网络
2301_8148098624 分钟前
踩坑实战pywebview:用 Python + Web 技术打造轻量级桌面应用
开发语言·前端·python
南境十里·墨染春水25 分钟前
C++流类库 字符串流
开发语言·c++
weixin_520649871 小时前
C#线程底层原理知识
java·开发语言