代码页
代码页是字符编码的别名,也稱「內碼表」,是特定语言的字符集的一张表。早期,代码页是IBM称呼计算机的BIOS所支持的字符集编码。当时通用的操作系统都是命令行界面,这些操作系统直接使用BIOS提供的字符绘制功能来显示字符。这些BIOS代码页也被称为OEM代码页。图形操作系统使用自己的字符呈现引擎(rendering engine),可以支持多个不同的字符集编码,这类代码页被称作ASCII代码页。
早期IBM和微软内部使用数字来标记不同的编码字符集,不同的厂商对同一个字符集编码使用各自不同的名称。例如,UTF-8在IBM称作代码页1208, 在微软称作代码页65001, 在SAP称作代码页4110.
1987年4月,IBM发布了PC-DOS 3.3,正式开始使用16比特的无符号整数标识不同的代码页。这时的PC机使用CGA显示系统的字符界面,绘制不同语言的字符依靠BIOS硬件厂商提供的功能。如果想更换所支持的字符集,就必须换上支持该字符集的ROM芯片。微软作为DOS操作系统的软件厂商,并不拥有绘制这些字符集的知识产权。所以这些字符集的绘制实现,称作OEM代码页。最常见、最具代表性的OEM代码页是"IBM PC或MS-DOS 代码页437"。
随着图形用户界面操作系统的广泛使用(最初被广为接受的是Windows 3.1),操作系统具有了字符绘制的功能。微软在Windows操作系统没有转向UTF-16作为内码实现之前(也就是在Windows 2000之前),针对不同的使用地区与国家,定义了一系列的支持不同语言字符集的代码页,被称作"Windows (或ANSI) 代码页"。代表性的是实现了ISO-8859-1的代码页1252.
目录 |
OEM (IBM PC) 代碼頁 [编辑]
- 437 — 最初的 IBM PC 代碼頁,实现了扩展ASCII字符集
- 737 — 希腊语
- 850 — 「多語言 (Latin-1)」 (西歐语言)
- 852 — 「斯拉夫 (Latin-2)」 (中歐及東歐語言)
- 855 — 西里尔(Cyril)字母
- 857 — 土耳其语
- 858 — 带欧元符号的「多語言」
- 860 — 葡萄牙语
- 861 — 冰岛语
- 863 — 法语 加拿大英语
- 865 — 北欧
- 866 — 西里尔(Cyril)字母
- 869 — 希腊语
代码页819实现了Latin-1(ISO/IEC 8859-1),用于IBM AS/400小型机。
中日韩语言代码页 [编辑]
既是OEM代码页,也是Windows代码页。
其他代碼頁 [编辑]
- 10000 — Macintosh Roman encoding (followed by several other Mac character sets)
- 10007 — Macintosh Cyrillic encoding
- 10029 — Macintosh Central European encoding
- 1200 — UCS-2LE Unicode 小端序
- 1201 — UCS-2BE Unicode 大端序
- 65000 — UTF-7 Unicode
- 65001 — UTF-8 Unicode
Windows (ANSI)代碼頁 [编辑]
- 874 — 泰文字母
- 1250 — 東歐拉丁字母
- 1251 — 古斯拉夫語
- 1252 — 西歐拉丁字母 ISO-8859-1.
- 1253 — 希臘語
- 1254 — 土耳其語
- 1255 — 希伯來語
- 1256 — 阿拉伯語
- 1257 — 巴爾
- 1258 — 越南
- 1254 — 土耳其語
Windows-1252与ISO-8859-1并不完全一致。ISO-8859-1在0x80-0x9F范围的控制字符,在Windows-1252中被可打印字符取代。由于在web网页中,ASCII控制字符不起作用,所以网页一般用Windows-1252代码页标记替代ISO-8859-1标记。
外部連結 [编辑]
- IBM代碼頁(英文)
- IBM/ICU Charset Information
- Microsoft code page identifiers (Microsoft's list contains only code pages actively used by normal apps on Windows see also Torsten Mohrin's list for the full list of supported code pages)
- Shorter Microsoft list containing only the ANSI and OEM code pages but with links to more detail on each
- Character Sets And Code Pages At The Push Of A Button