Advertisement

编程语言和字符编码

阅读量:

探讨编程语言中字符的运用,以Java为例

一个字符占多少个字节?

具体情形需视编码方式而定,不同编码标准下字符所占用的字节数存在差异。此处引用 肖国栋 先生在知乎上的观点:

从本质上讲,若不明确具体的编码规则,单纯讨论某个字符所占的字节数是没有实际意义的。

这就好比一个抽象的整数“42”,若要讨论它占据多少字节,必须明确使用的是 byte、short、int 还是 long 类型来存储。以 byte 类型为例,该数值仅需占用一个字节;若采用 short,则需要两个字节;int 通常为四个字节;long 则一般为八个字节。当然,byte 类型由于位数有限,并非所有数值都可以存储,例如 256 就无法被存入一个 byte 中。字符的情况也遵循相同的逻辑,在探讨其占用字节数时,首先必须明确所采用的编码方式。

相同字符在不同编码标准下可能占据不同的字节数。

以你提到的“字”为例,在 GBK 编码中,“字”需要占用两个字节;在 UTF-16 编码中同样需要两个字节;而在 UTF-8 编码中则占据三个字节;至于 UTF-32 编码,“字”则会占用四个字节。

即便在同一编码体系下,不同字符也

全部评论 (0)

还没有任何评论哟~