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)
	}
相关推荐
Bat U6 分钟前
JavaEE|多线程(五)
java·开发语言·jvm
玉小格20 分钟前
对py作业的一个复盘
开发语言·python
Rust研习社21 分钟前
使用 Tonic 构建高性能异步 gRPC 服务
开发语言·网络·后端·http·rust
captain37623 分钟前
JDBC(Java Data Base Connectivity)
java·开发语言
南境十里·墨染春水30 分钟前
C++笔记 STL——vector
开发语言·c++·笔记
故事和你911 小时前
洛谷-算法2-2-常见优化技巧3
开发语言·数据结构·c++·算法·深度优先·动态规划·图论
foundbug9991 小时前
MATLAB时频分析工具箱:基于FRFT的信号检测与参数估计
开发语言·matlab
DevilSeagull1 小时前
Rust 方法语法:从定义到实践
开发语言·后端·rust
charlie1145141911 小时前
通用GUI编程技术——图形渲染实战(三十七)——D3D11初始化与SwapChain:从零搭建GPU渲染框架
开发语言·c++·3d·图形渲染
陈天伟教授1 小时前
GPT Image 2-城市海报
开发语言·人工智能·gpt·神经网络