1概况编辑
代码页是
字符集
编码的别名,也有人称"内码表"。早期,代码页是
IBM称呼电脑
BIOS本身支持的
字符集
编码的名称。当时通用的操作系统都是
命令行界面系统,这些操作系统直接使用BIOS供应的VGA功能来显示字符,操作系统的
编码支持也就依靠BIOS的编码。现在这BIOS代码页被称为
OEM代码页。
图形操作系统解决了此问题,图形操作系统使用自己字符呈现引擎可以支持很多不同的
字符集
编码。
2简介编辑
概述
对于
字符和
Unicode数据的位模式的定义,此模式代表特定字母、数字或符号(例如 0x20 代表一个空格,而 0x74 代表字符“t”)。一些
数据类型每个
字符使用一个
字节;每个字节可以具有 256 个不同的位模式中的一个模式。
在计算机中,
字符由不同的位模式(ON 或 OFF)表示。每个
字节有 8 位,这 8 位可以有 256 种不同的 ON 和 OFF 组合模式。对于使用 1 个
字节存储每个
字符的程序,通过给每个位模式指派
字符可表示最多 256 个不同的字符。2 个
字节有 16 位,这 16 位可以有 65,536 种唯一的 ON 和 OFF 组合模式。使用 2 个
字节表示每个
字符的程序可表示最多 65,536 个字符。
单字节
单
字节代码页是
字符定义,这些字符映射到每个字节可能有的 256 种位模式中的每一种。代码页定义大小写
字符、数字、符号以及 !、@、#、% 等特殊字符的位模式。每种欧洲语言(如德语和西班牙语)都有各自的单
字节代码页。虽然用于表示 A 到 Z 拉丁字母表
字符的位模式在所有的代码页中都相同,但用于表示重音字符(如"é"和"á")的位模式在不同的代码页中却不同。如果在运行不同代码页的计算机间交换数据,必须将所有
字符数据由发送计算机的代码页转换为接收计算机的代码页。如果源数据中的扩展
字符在接收计算机的代码页中未定义,那么数据将丢失。如果某个数据库为来自许多不同国家的
客户端提供服务,则很难为该数据库选择这样一种代码页,使其包括所有客户端计算机所需的全部扩展
字符。而且,在代码页间不停地转换需要花费大量的处理时间。
双字节
仅靠单
字节
字符集存储许多语言所使用的字符也是不够的。例如,一些亚洲语言包含上千个
字符,所以每个字符必须使用双
字节。双
字节
字符集正是为这些语言定义的。但是,这些语言都有各自的代码页,在运行不同双
字节代码页的计算机之间传输数据也存在困难。
3描述编辑
代码页 | 简称 | 全称 | |
---|---|---|---|
37 | IBM037 | IBM EBCDIC (US-Canada) | |
437 | IBM437 | OEM United States | |
500 | IBM500 | IBM EBCDIC (International) | |
708 | ASMO-708 | Arabic (ASMO 708) | |
720 | DOS-720 | Arabic (DOS) | |
737 | ibm737 | Greek (DOS) | |
775 | ibm775 | Baltic (DOS) | |
850 | ibm850 | Western European (DOS) | |
852 | ibm852 | Central European (DOS) | |
855 | IBM855 | OEM Cyrillic | |
857 | ibm857 | Turkish (DOS) | |
858 | IBM00858 | OEM Multilingual Latin I | |
860 | IBM860 | Portuguese (DOS) | |
861 | ibm861 | Icelandic (DOS) | |
862 | DOS-862 | Hebrew (DOS) | |
863 | IBM863 | French Canadian (DOS) | |
864 | IBM864 | Arabic (864) | |
865 | IBM865 | Nordic (DOS) | |
866 | cp866 | Cyrillic (DOS) | |
869 | ibm869 | Greek, Modern (DOS) | |
870 | IBM870 | IBM EBCDIC (Multilingual Latin-2) | |
874 | windows-874 | Thai (Windows) | |
875 | cp875 | IBM EBCDIC (Greek Modern) | |
932 | shift_jis | Japanese (Shift-JIS) | |
936 | gb2312 | Chinese Simplified (GB2312) | * |
949 | ks_c_5601-1987 | Korean | |
950 | big5 | Chinese Traditional (Big5) | |
1026 | IBM1026 | IBM EBCDIC (Turkish Latin-5) | |
1047 | IBM01047 | IBM Latin-1 | |
1140 | IBM01140 | IBM EBCDIC (US-Canada-Euro) | |
1141 | IBM01141 | IBM EBCDIC (Germany-Euro) | |
1142 | IBM01142 | IBM EBCDIC (Denmark-Norway-Euro) | |
1143 | IBM01143 | IBM EBCDIC (Finland-Sweden-Euro) | |
1144 | IBM01144 | IBM EBCDIC (Italy-Euro) | |
1145 | IBM01145 | IBM EBCDIC (Spain-Euro) | |
1146 | IBM01146 | IBM EBCDIC (UK-Euro) | |
1147 | IBM01147 | IBM EBCDIC (France-Euro) | |
1148 | IBM01148 | IBM EBCDIC (International-Euro) | |
1149 | IBM01149 | IBM EBCDIC (Icelandic-Euro) | |
1200 | utf-16 | Unicode | * |
1201 | unicodeFFFE | Unicode (Big-Endian) | * |
1250 | windows-1250 | Central European (Windows) | |
1251 | windows-1251 | Cyrillic (Windows) | |
1252 | Windows-1252 | Western European (Windows) | * |
1253 | windows-1253 | Greek (Windows) | |
1254 | windows-1254 | Turkish (Windows) | |
1255 | windows-1255 | Hebrew (Windows) | |
1256 | windows-1256 | Arabic (Windows) | |
1257 | windows-1257 | Baltic (Windows) | |
1258 | windows-1258 | Vietnamese (Windows) | |
1361 | Johab | Korean (Johab) | |
10000 | macintosh | Western European (Mac) | |
10001 | x-mac-japanese | Japanese (Mac) | |
10002 | x-mac-chinesetrad | Chinese Traditional (Mac) | |
10003 | x-mac-korean | Korean (Mac) | * |
10004 | x-mac-arabic | Arabic (Mac) | |
10005 | x-mac-hebrew | Hebrew (Mac) | |
10006 | x-mac-greek | Greek (Mac) | |
10007 | x-mac-cyrillic | Cyrillic (Mac) | |
10008 | x-mac-chinesesimp | Chinese Simplified (Mac) | * |
10010 | x-mac-romanian | Romanian (Mac) | |
10017 | x-mac-ukrainian | Ukrainian (Mac) | |
10021 | x-mac-thai | Thai (Mac) | |
10029 | x-mac-ce | Central European (Mac) | |
10079 | x-mac-icelandic | Icelandic (Mac) | |
10081 | x-mac-turkish | Turkish (Mac) | |
10082 | x-mac-croatian | Croatian (Mac) | |
20000 | x-Chinese-CNS | Chinese Traditional (CNS) | |
20001 | x-cp20001 | TCA Taiwan | |
20002 | x-Chinese-Eten | Chinese Traditional (Eten) | |
20003 | x-cp20003 | IBM5550 Taiwan | |
20004 | x-cp20004 | TeleText Taiwan | |
20005 | x-cp20005 | Wang Taiwan | |
20105 | x-IA5 | Western European (IA5) | |
20106 | x-IA5-German | German (IA5) | |
20107 | x-IA5-Swedish | Swedish (IA5) | |
20108 | x-IA5-Norwegian | Norwegian (IA5) | |
20127 | us-ascii | US-ASCII | * |
20261 | x-cp20261 | T.61 | |
20269 | x-cp20269 | ISO-6937 | |
20273 | IBM273 | IBM EBCDIC (Germany) | |
20277 | IBM277 | IBM EBCDIC (Denmark-Norway) | |
20278 | IBM278 | IBM EBCDIC (Finland-Sweden) | |
20280 | IBM280 | IBM EBCDIC (Italy) | |
20284 | IBM284 | IBM EBCDIC (Spain) | |
20285 | IBM285 | IBM EBCDIC (UK) | |
20290 | IBM290 | IBM EBCDIC (Japanese katakana) | |
20297 | IBM297 | IBM EBCDIC (France) | |
20420 | IBM420 | IBM EBCDIC (Arabic) | |
20423 | IBM423 | IBM EBCDIC (Greek) | |
20424 | IBM424 | IBM EBCDIC (Hebrew) | |
20833 | x-EBCDIC-KoreanExtended | IBM EBCDIC (Korean Extended) | |
20838 | IBM-Thai | IBM EBCDIC (Thai) | |
20866 | koi8-r | Cyrillic (KOI8-R) | |
20871 | IBM871 | IBM EBCDIC (Icelandic) | |
20880 | IBM880 | IBM EBCDIC (Cyrillic Russian) | |
20905 | IBM905 | IBM EBCDIC (Turkish) | |
20924 | IBM00924 | IBM Latin-1 | |
20932 | EUC-JP | Japanese (JIS 0208-1990 and 0212-1990) | |
20936 | x-cp20936 | Chinese Simplified (GB2312-80) | * |
20949 | x-cp20949 | Korean Wansung | * |
21025 | cp1025 | IBM EBCDIC (Cyrillic Serbian-Bulgarian) | |
21866 | koi8-u | Cyrillic (KOI8-U) | |
28591 | iso-8859-1 | Western European (ISO) | * |
28592 | iso-8859-2 | Central European (ISO) | |
28593 | iso-8859-3 | Latin 3 (ISO) | |
28594 | iso-8859-4 | Baltic (ISO) | |
28595 | iso-8859-5 | Cyrillic (ISO) | |
28596 | iso-8859-6 | Arabic (ISO) | |
28597 | iso-8859-7 | Greek (ISO) | |
28598 | iso-8859-8 | Hebrew (ISO-Visual) | * |
28599 | iso-8859-9 | Turkish (ISO) | |
28603 | iso-8859-13 | Estonian (ISO) | |
28605 | iso-8859-15 | Latin 9 (ISO) | |
29001 | x-Europa | Europa | |
38598 | iso-8859-8-i | Hebrew (ISO-Logical) | * |
50220 | iso-2022-jp | Japanese (JIS) | * |
50221 | csISO2022JP | Japanese (JIS-Allow 1 byte Kana) | * |
50222 | iso-2022-jp | Japanese (JIS-Allow 1 byte Kana - SO/SI) | * |
50225 | iso-2022-kr | Korean (ISO) | * |
50227 | x-cp50227 | Chinese Simplified (ISO-2022) | * |
51932 | euc-jp | Japanese (EUC) | * |
51936 | EUC-CN | Chinese Simplified (EUC) | * |
51949 | euc-kr | Korean (EUC) | * |
52936 | hz-gb-2312 | Chinese Simplified (HZ) | * |
54936 | GB18030 | Chinese Simplified (GB18030) | * |
57002 | x-iscii-de | ISCII Devanagari | * |
57003 | x-iscii-be | ISCII Bengali | * |
57004 | x-iscii-ta | ISCII Tamil | * |
57005 | x-iscii-te | ISCII Telugu | * |
57006 | x-iscii-as | ISCII Assamese | * |
57007 | x-iscii-or | ISCII Oriya | * |
57008 | x-iscii-ka | ISCII Kannada | * |
57009 | x-iscii-ma | ISCII Malayalam | * |
57010 | x-iscii-gu | ISCII Gujarati | * |
57011 | x-iscii-pa | ISCII Punjabi | * |
65000 | utf-7 | Unicode (UTF-7) | * |
65001 | utf-8 | Unicode (UTF-8) | * |
65005 | utf-32 | Unicode (UTF-32) | * |
65006 | utf-32BE | Unicode (UTF-32 Big-Endian) | * |