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 分钟前
【附完整代码】Python爬取古筝网曲谱图片一键生成PDF(下·PDF生成与GUI篇)
开发语言·python·pdf
代码中介商15 分钟前
C语言操作符深度解析:从基础到高级应用
c语言·开发语言
z小天才b20 分钟前
Java 设计模式完全指南:从入门到精通
java·开发语言·设计模式
zs宝来了25 分钟前
网络篇15-网络收发包应用之iptable
开发语言·网络·php
烤麻辣烫25 分钟前
算法--二分搜索
java·开发语言·学习·算法·intellij-idea
编码浪子26 分钟前
《安全 Rust 的边界在哪?》— 中文解读
开发语言·安全·rust
kyriewen1144 分钟前
Next.js:让你的React应用从“裸奔”到“穿衣服”
开发语言·前端·javascript·react.js·设计模式·ecmascript
三品吉他手会点灯1 小时前
C语言学习笔记 - 18.C编程预备计算机专业知识 - 什么是变量
c语言·开发语言·笔记·学习
好奇龙猫1 小时前
[大学院-python-base gammer learning2: python base programming ]
开发语言·python