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)
	}
相关推荐
va学弟15 小时前
Java 网络通信编程(10):Channel 和 Selector
java·开发语言
爱吃提升16 小时前
MATLAB impulse函数脉冲响应完整实操教程
开发语言·matlab
小饕16 小时前
从 1080 Ti 到树莓派 4:Qwen2.5-0.5B Function Calling 端侧部署七步实战
开发语言·人工智能
糯米导航16 小时前
Rust + ONNX Runtime 构建生产级 AI 推理服务:从零到压测
开发语言·人工智能·rust
阿pin16 小时前
Java随笔-ConcurrentHashMap
java·开发语言·哈希算法
秋田君17 小时前
QT_QT布局详解
开发语言·数据库·qt
ximen502_17 小时前
Python 语言知识总结
开发语言·python
m0_7381207217 小时前
PHP代码审计基础——超全局变量(三)
开发语言·安全·网络安全·php
烟锁池塘柳017 小时前
【C/C++】解决C++控制台输出中文乱码问题
c语言·开发语言·c++
C+-C资深大佬17 小时前
Java 变量:从入门到精通
java·开发语言·python