荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: jjksam (Debian GNU/Linux 2.2 (`potato') ), 信区: Linux
标  题: Codepage的定义和历史
发信站: 荔园晨风BBS站 (Sat Jan 12 22:03:01 2002), 转信

http://www.linuxforum.net/chinese/topic/lcr-1.html
1. Codepage的定义和历史

字符内码(charcter code)指的是用来代表字符的内码.读者在输入和存储文档时都要 使用
内码,内码分为

单字节内码 -- Single-Byte character sets (SBCS),可以支持256个字符编码.
双字节内码 -- Double-Byte character sets)(DBCS),可以支持65000个字符编码.主要用
来对大字符集的东方 文字进行编码.

codepage 指的是一个经过挑选的以特定顺序排列的字符内码列表,对于早期的单字节内码
的语种,codepage中的 内码顺序使得系统可以按照此列表来根据键盘的输入值给出一个对
应的内码.对于双字节内码,则给出的是 MultiByte到Unicode的对应表,这样就可以把以
Unicode形式存放的字符转化为相应的字符内码,或者反之,在Linux 核心中对应的函数就是
utf8_mbtowc和utf8_wctomb.

在1980年前,仍然没有任何国际标准如ISO-8859或Unicode来定义如何扩展US-ASCII编码以
便非英语国家的用户 使用.很多IT厂商发明了他们自己的编码,并且使用了难以记忆的数目
来标识:

例如936代表简体中文. 950代表繁体中文.

1.1 CJK Codepage

同 Extended Unix Coding ( EUC )编码大不一样的是,下面所有的远东 codepage 都利用
了C1控制码 { =80..=9F } 做 为首字节, 使用ASCII值 { =40..=7E { 做为第二字节,这样
才能包含多达数万个双字节字符,这表明在这种编码之 中小于3F的ASCII值不一定代表
ASCII字符.

CP932

Shift-JIS包含日本语 charset JIS X 0201 (每个字符一个字节) 和 JIS X 0208 (每个字
符两个字节),所以 JIS X 0201 平假名包含一个字节半宽的字符,其剩馀的60个字节被用做
7076个汉字以及648个其他全宽字符的首字节.同 EUC-JP编码区别的是,Shift-JIS没有包含
JIS X 202中定义的5802个汉字.

CP936

GBK 扩展了 EUC-CN 编码( GB 2312-80编码,包含 6763 个汉字)到Unicode (GB13000.
1-93)中定义的20902个汉 字,中国大陆使用的是简体中文zh_CN.

CP949

UnifiedHangul (UHC) 是韩文 EUC-KR 编码(KS C 5601-1992 编码,包括2350 韩文音节和
 4888 个汉字a)的超集,包 含 8822个附加的韩文音节( 在C1中 )

CP950

是代替EUC-TW (CNS 11643-1992)的 Big5 编码(13072 繁体 zh_TW 中文字) 繁体中文,这
些定义都在Ken Lunde的 CJK.INF中或者 Unicode 编码表中找到.

注意: Microsoft采用以上四种Codepage,因此要访问Microsoft的文件系统时必需采用上面
的Codepage .

1.2 IBM的远东语言Codepage

IBM的Codepage分为SBCS和DBCS两种:

IBM SBCS Codepage

37 (英文) *
290 (日文) *
833 (韩文) *
836 (简体中文) *
891 (韩文)
897 (日文)
903 (简体中文)
904 (繁体中文)

IBM DBCS Codepage

300 (日文) *
301 (日文)
834 (韩文) *
835 (繁体中文) *
837 (简体中文) *
926 (韩文)
927 (繁体中文)
928 (简体中文)

将SBCS的Codepage和DBCS的Codepage混合起来就成为: IBM MBCS Codepage

930 (日文) (Codepage 300 加 290) *
932 (日文) (Codepage 301 加 897)
933 (韩文) (Codepage 834 加 833) *
934 (韩文) (Codepage 926 加 891)
938 (繁体中文) (Codepage 927 加 904)
936 (简体中文) (Codepage 928 加 903)
5031 (简体中文) (Codepage 837 加 836) *
5033 (繁体中文) (Codepage 835 加 37) *

*代表采用EBCDIC编码格式

由此可见,Mircosoft的CJK Codepage来源于IBM的Codepage.
--
                       .★*★.      .★*★.
            .*★ *.*    ★     ★     *.*★*.
           ★           *      *           ★
           ★ jjksam love ** for‘ ever    ★
           ‘*.       .        :        .*
               ‘ . .           ..  * ’

※ 修改:·jjksam 於 Jan 12 22:03:56 修改本文·[FROM: 192.168.0.146]
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.146]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店