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)
	}
相关推荐
浪客川11 分钟前
【百例RUST - 005】所有权和切片
开发语言·后端·rust
古城小栈14 分钟前
Axum: Rust 好用的 Web 框架
开发语言·rust
lfwh18 分钟前
Java 中基于 DBSCAN 算法的车辆交汇点计算实现详解
java·开发语言·算法
星河耀银海22 分钟前
C++面向对象编程:从基础到实战
开发语言·c++
HUST29 分钟前
C语言第十一讲: 深入理解指针(1)
c语言·开发语言
Ccjf酷儿39 分钟前
C++语言程序设计 (郑莉)第三章 函数
开发语言·c++
行者游学41 分钟前
gozero框架异步任务logx trace id
golang
ytttr8731 小时前
基于人工蜂群算法(ABC)的MATLAB数值计算求解框架
开发语言·算法·matlab
Dxy12393102161 小时前
Python如何使用DrissionPage做自动化:简单入门指南
开发语言·python·自动化
珂朵莉MM1 小时前
2025年睿抗机器人开发者大赛CAIP-编程技能赛-高职组(国赛)解题报告 | 珂学家
java·开发语言·人工智能·算法·机器人