登录
首页 >  Golang >  Go问答

Go 如何将 3 字节序列转换为适当的 Unicode 字符?

来源:stackoverflow

时间:2024-04-07 22:18:28 388浏览 收藏

哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《Go 如何将 3 字节序列转换为适当的 Unicode 字符?》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!

问题内容

如果我们有字符“世界”,它们对应于字节 228 184 150 231 149 140,每个 3 个字节。如果我只有 []byte{228, 184, 150, 231, 149, 140},Go 如何知道将它们分成 3 个字节? 如果我尝试打印 fmt.Println(string([]byte{228})),我会得到一个谜?象征。是当 Go 编译器看到 228 并知道它需要读取更多字节才能找到正确的字符时吗?


解决方案


代码点的第一个字节指定代码点中的字节总数。详情请参阅wikipedia article。 Go 语言和库使用此计数将字节序列转换为代码点(也称为符文)

当写入 228 而没有两个尾随字节时,终端会收到无效的 UTF-8 字节序列。您的终端将无效字节显示为替换字符 �。

有关 Go 语言中字符串、字节和符文的更多详细信息,请参阅 Go Blog Strings article

以上就是《Go 如何将 3 字节序列转换为适当的 Unicode 字符?》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>