计算机常见编码

在做.net 项目中,有的时候,在打开别人的项目的的时候,经常出现中文乱码,尤其又是在繁体的环境下》也是找了一点编码的资料,总结。

1.ASCII 字符集

第 0-31 号及 127 号是控制字符或通讯专用字符;
第 32-126 号是字符,其中 48-57 号为 0-9 十个阿拉伯数字,65-90 号为 26 个
大写英文字母,97-122 号为 26 个英文小写字母,其余为一些标点符号,运
算符号等。
在计算机存储单元中,一个 ASCII 码值占一个字节(8 个二进制位),最高位
是用作奇偶检验位。

2. GB2312 字符集:

GB2312 收录了简化汉字及一般字符,序号,数字,拉丁字母,日文假名,
希腊字母,俄文字母,汉语拼音符号,汉语注音字母,共 7445 个图形字符。
其中包括 6763 个汉字,一级汉字 3755 个,二级汉字 3008 个。

GB2312 对所收汉字进行了“分区”处理,每区含有 94 个汉字或者符号,这
种表示方法也叫做“区位码”。
它是用双字节表示的,前面的字节为第一字节,又称“高字节”,后面的为
第二字节,“低字节”。
高位字节,把 01-87 区的区号加上 0xA0(相当于数字 160);低位字节把 01-94
区的区号加上 0xA0(相当于数字 160)。 举个简单的小例子:第一个汉字—
—“啊”,它的区号为 16,位号 01,则区位码是 1601。则高字节位:
16+0xA0=0xB0;低字节位:01+0xA0=0xA1,所以“啊”的汉字处理编码为
0xB0A1。

3. GBK 字符集:

GBK 是 GB2312 字符集的扩展(K)(中国的中文编码表升级,融合了更多的
中文文字符号。),它收录了 21886 个符号,它分为汉字区和图形符号区,
汉字区包括 21003 个字符。GBK 字符集主要扩展了繁体中文字的支持。

4. BIG5 字符集:

BIG5 字符集共收录了 13053 个中文字,该字符集在台湾使用。但是没有考虑
到社会上流通的人名,地方用字,方言用字,化学及生物科等用字,没有包
含日文平假名及片假字母。

BIG5 也采用双字节存储方法,一两个字节编码一个字。高位字节的编码范围
是 0xA1-0xF9,低位字节的编码范围是 0xA1-0xFE。

6.Unicode 字符集

Unicode 允许在
同一服务器上混合使用不同语言,它为每种语言的每个字符设定了统一并且
唯一的二进制编码,以满足跨平台,跨语言进行文本转换,处理的要求。、

Unicode 标准始终使用十六进制数字,固定使用 2 个字节来表示一个字符,
共可以表示 65536 个字符。而且书写时在前面加上前缀“U+”,例如 A 的编
码是 004116,则书写成“U+0041”。
 Unicode 字符集包含的编码方案:

UTF-8: (最多用三个字节来表示一个字符。)
UTF8 是 unicode 其中的一个使用方式。UTF 的意思是:
unicode translation format,即把 unicode 转作某种格式的意思。 UTF-8
使用可变长度字节来存储 unicode 字符,如 ASCII 字母还是采用一个
字符来存储,希腊字母等采用 2 个字符来存储,而常用的汉字要使
用 3 字节,辅助平面字符则使用 4 字节。
 UTF-16:
使用一个或两个未分配的 16 位代码单元的序列对 unicode 代码
点进行编码,即 2 个字节表示一个字符。
 UTF-32:
将每一个 unicode 代码点表示为相同值的 32 位整数。

UTF-16 与 UTF-8:如“连通”两个字,在 UTF-16 中为:DE 8F 1A 90,
两个字节决定一个汉字;在 UTF-8 中则为:E8 BF 9E E9 80 9A,即 3
个字节决定一个字符。
当一个软件打开一个文本时,首先是要决定这个文本究竟是使用
哪种字符集的哪种编码保存的,软件一般采用三种方式来决定文本
的字符集和编码:检测文件头标识,提示用户选择,根据一定的规
则猜测。不同编码方式的开头字节如下:
EF BB BF
UTF-8
FF FE
UTF-16,little endian
FE FF
UTF-16,big endian
FF FE 00 00
UTF-32, little endian
00 00 FE FF
UTF-32,big endian
注:endian 是指字节序,big endian(大尾)和 little endian(小
尾)是 CPU 处理多字节数的不同方式。例如“汉”的 unicode 编码
是 6C49,写到文件中,如果将 6C 写在前面就是 big endian,将 49
写在前面就是 little endian。

 

posted @ 2013-12-29 14:19  洽洽果  阅读(675)  评论(0编辑  收藏  举报