本源:shaken的 Blog 作者:shaken的 Blog
">
今日为了成立一个外埠库,装置了一个mysql,在装置时提示选择Character Set,因为该库是要与MSSQL的库互相交流数据用的,所以查了MSSQL的Character Set ,为CP936,看不懂,便google了一下。才晓得正本CP936即是GBK年夜字符集。以下为一些简称的简介。
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
IBM DBCS Codepage
将SBCS的Codepage和DBCS的Codepage混合起来就成为: IBM MBCS Codepage
版权声明: 原创作品,容许转载,转载时请务必以超链接形式标明文章 原始来因 、作者信息和本声明。否则将清查司法责任。