Chinaunix首页 | 论坛 | 博客
  • 博客访问: 163153
  • 博文数量: 21
  • 博客积分: 517
  • 博客等级: 下士
  • 技术积分: 358
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-23 23:42
文章分类

全部博文(21)

文章存档

2015年(2)

2012年(19)

我的朋友

分类: LINUX

2012-05-17 18:09:59

常见的中文字符集有:GB2312、GBK、BIG5、UTF-8、UCS2、UTF-16等。
GB2312是简体中文字符集的编码。
 
GBK是GB2312的超集,即GB2312中的所有中文字符编码在GBK中都保持不变,另外GBK还包含有GB2312中没有编码的中文字符。
 
BIG5码是繁体中文字符集的编码。
 
UTF-8是UNICODE的一种编码形式,我们所说的UNICODE是指将全世界所有的字符收集起来统一编码,这种编码只是给每个字符一个序号,但是计算机中保存UNICODE中的字符时很多时候并不是就按其原始序号保存的,典型的情况是UTF-8,它对UNICODE的字符序号采用可变长的编码方案,这样就使得英文字符能够用一个字节表示,而其他的字符用2个甚至更多的字节表示。
 
UTF-16可看成UCS2的父集,这两种字符集编码中,绝大部分的UNICODE字符都是直接用2个字节表示其UNICODE字符序号的,但是两者有一些区别:
UNICODE字符的序号是0x00000~0x10FFFF,UCS2无法表示全部的UNICODE字符。
UTF-16使得绝大部分的UNICODE字符用2个字节表示,其他的极少用的字符用4个字节表示。
在UTF-16编码规则中,0xD800~0xDFFF不用于两个字节的字符表示,只用于4个字节的字符表示,这样就保证能够根据第一个字节区分该字符是2个字节的UTF-16编码还是4个字节的UTF-16编码。
UCS2中0xD800~0xDFFF是用于表示UNICODE字符的,所以这是两者不同的地方。
阅读(1954) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~