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)
	}
相关推荐
番茄去哪了2 分钟前
Java基础面试题day01
java·开发语言·后端·javase·八股·面向对象编程
wuqingshun3141597 分钟前
说说进程和线程的区别?
java·开发语言·jvm
91刘仁德29 分钟前
C++ 内存管理
android·c语言·数据结构·c++·经验分享·笔记·算法
一叶落43843 分钟前
167. 两数之和 II - 输入有序数组【C语言题解】
c语言·数据结构·算法·leetcode
Elastic 中国社区官方博客1 小时前
用于 Elasticsearch 的 Gemini CLI 扩展,包含工具和技能
大数据·开发语言·人工智能·elasticsearch·搜索引擎·全文检索
wjs20241 小时前
Bootstrap4 提示框详解
开发语言
biter down1 小时前
C++ 单例模式:饿汉与懒汉模式
开发语言·c++·单例模式
echome8881 小时前
Go 语言并发编程实战:用 Goroutine 和 Channel 构建高性能任务调度器
开发语言·后端·golang
l1t1 小时前
与系统库同名python脚本文件引起的奇怪错误及其解决
开发语言·数据库·python
Jackey_Song_Odd1 小时前
Part 1:Python语言核心 - 内建数据类型
开发语言·python