独立思想是最宝贵的

多写原创的文章
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

字符集和编码的区别

Posted on 2018-01-10 15:14  漂流的鱼  阅读(4079)  评论(0编辑  收藏  举报

字符集和编码的区别

ascII、unicode、gb2312等都是字符集,用于定义编号指代的字符。utf-8,utf-16则是unicode的编码格式。

ascII

ascII只有128个,能表示英文、数字、常用符号。

gb2312

gb2312是中文特有的字符集,有2万多个字符,前128个和ascII保持一致,因此能兼容ascII。ascII码用1个字节表示,中文用2个字节表示。gbk是在gb2312基础上扩容而来的。

unicode

unicode则是为了让全球能用上统一的字符集而发明的,有6万多个字符,每个字符占2个字节,比如英文a,ascII是97、unicode则是0097(示意的说法)。中文只收录最常用的6000多个汉字。unicode虽然是大一统的标准,但是在表示英文时浪费空间,并且许多古老的程序只支持ascII,unicode从标准设计上来说是不兼容ascII。正因如此在实际使用中unicode会以utf-8,utf-16等编码方式存储是传输。utf-8保持和ascII一致,英文使用1个字节,其他字符使用2-6个字节,比如中文多数是3个字节。