在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Go语言字符类型(byte和rune)字符串中的每一个元素叫做“字符”,在遍历或者单个获取字符串元素时可以获得字符。 Go 语言的字符有以下两种:
使用 fmt.Printf 中的
例子输出结果:
可以发现,byte 类型的 a 变量,实际类型是 uint8,其值为 'a',对应的 ASCII 编码为 97。 rune 类型的 b 变量的实际类型是 int32,对应的 Unicode 码就是 20320。 Go 使用了特殊的 rune 类型来处理 Unicode,让基于 Unicode 的文本处理更为方便,也可以使用 byte 型进行默认字符串处理,性能和扩展性都有照顾。 UTF-8 和 Unicode 有何区别?Unicode 是字符集,ASCII 也是一种字符集。 字符集为每个字符分配一个唯一的 ID,我们使用到的所有字符在 Unicode 字符集中都有唯一的一个 ID 对应,例如上面例子中的 a 在 Unicode 与 ASCII 中的编码都是 97。“你”在 Unicode 中的编码为 20320,但是在不同国家的字符集中,“你”的 ID 会不同。而无论任何情况下,Unicode 中的字符的 ID 都是不会变化的。
根据这个规则,拉丁文语系的字符编码一般情况下,每个字符依然占用一个字节,而中文每个字符占用 3 个字节。 广义的 Unicode 指一个标准,定义字符集及编码规则,即 Unicode 字符集和 UTF-8、UTF-16 编码等。 小结本小节主要讲解了Go语言中什么是字符串的字符类型,以及字符类型byte和rune是什么,还有就是由UTF-8 和 Unicode编码的字符串都有何区别。 |
请发表评论