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)
	}
相关推荐
执笔论英雄4 分钟前
Slime异步原理(单例设计模式)4
开发语言·python·设计模式
e***74952 小时前
Modbus报文详解
服务器·开发语言·php
lly2024062 小时前
ASP 发送电子邮件详解
开发语言
小徐敲java2 小时前
python使用s7协议与plc进行数据通讯(HslCommunication模拟)
开发语言·python
likuolei2 小时前
XSL-FO 软件
java·开发语言·前端·数据库
6***37942 小时前
PHP在电商中的BigCommerce
开发语言·php
Dev7z2 小时前
基于Matlab的多制式条形码识别与图形界面(GUI)系统设计与实现
开发语言·matlab
合作小小程序员小小店2 小时前
桌面开发,在线%信息管理%系统,基于vs2022,c#,winform,sql server数据。
开发语言·数据库·sql·microsoft·c#
FL16238631292 小时前
ONNX RuntimeC++ 静态库下载安装和使用教程
开发语言·c++
星释2 小时前
Rust 练习册 95:React与响应式编程
开发语言·react.js·rust