gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 22:33:49 25 4
gpt4 key购买 nike

如果我们有字符世界,它们对应于字节 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 语言和库使用此计数将字节序列转换为代码点(也称为 rune )
当写入 228 且没有两个尾随字节时,终端接收到无效的 UTF-8 字节序列。您的终端将无效字节显示为替换字符 �。
Go Blog Strings article有关 Go 语言中的字符串、字节和 rune 的更多详细信息。

关于go - Go 如何将 3 字节序列转换为适当的 Unicode 字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62827026/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com