跳转至

ASCII、ANSI 和 UNICODE 解释

1 ASCII 码

ASCII 码占 7bit 为,能表示 128 个字符,范围 0x00~0x7F,主要用来表示英文字母,和常用的字符。

2 ANSI

ANSI 是对 ASCII 的扩展,占 2 个字节,能表示最多 65535 个字符,0x00~0x7F 范围表示的字符与 ASCII 相同,0x80~0xFFFF 范围表示不同国家或地区的字符。ANSI 是一个编码集,如汉字编码 GBK,日语编码 Shift_JIS 都是 ANSI 编码。

3 Unicode 字符集

Unicode 是一个字符集,最高占 3 字节大小,使用 0x0000~0x10FFFF 范围表示全世界所有字符。UTF-8、UTF-16、UTF-32 都是编码的实现方案。为了将一个 WORD 的 UTF-16 编码与两个 WORD 的 UTF-16 编码区分开来,Unicode 编码的设计者将 0xD800-0xDFFF 保留下来,并称为代理区(Surrogate)。UCS-2 与 UTF-16 在表示 2 个字节范围内字符时都表示同一个字符,但 UTF-16 可以通过使用 4 个字节表示更多的字符。UCS-4 与 UTF-32 的关系时,UCS-4 能表示更多的字符在 0x00~0x10FFFF 范围内,表示同一个字符。