当前位置:首页 > 资讯 > info6 > 正文

UNICODE,GBK,UTF-8区别 补充

发表于: 2010-04-02   作者:caisini_vc   来源:转载   浏览:
摘要: 最近在看c#StringHandlingandRegularExpressionshandBook,打算把正则表达式好好学一下,顺便复习一下字符串. 关于上述编码,一直迷迷糊糊,查了些资料,总算大致了解了 1.ASCII和Ansi编码 字符内码(charctercode)指的是用来代表字符的内码.读者在输入和存储文档时都要使用内码,内码分为 单字节内码--Single-Bytechar
最近在看c# String Handling and Regular Expressions handBook,打算把正则表达式好好学一下,顺便复习一下字符串.

关于上述编码,一直迷迷糊糊,查了些资料,总算大致了解了
1.  ASCII和Ansi编码
    字符内码(charcter code)指的是用来代表字符的内码.读者在输入和存储文档时都要使用内码,内码分为 
    单字节内码 -- Single-Byte character sets (SBCS),可以支持256个字符编码. 
    双字节内码 -- Double-Byte character sets)(DBCS),可以支持65000个字符编码.
前者即为ASCII编码,后者对应ANSI.
至于简体中文编码GB2312,实际上它是ANSI的一个代码页936

2. Unicode
 如上,ANSI有很多代码页,使用不同代码页的内码无法在其他代码也正常显示,这就是为什么日文版/繁体中文版游戏无法在简体中文平台直接显示的原因.
    Unicode也是一种字符编码方法,不过它是由国际组织设计,可以容纳全世界所有语言文字的编码方案.它是一种2字节编码,能够提供65536个字符,这个数字是不够表示所有的字符的(汉语就有55000多字符),所以,通过一个代理对的机制来实现附加的917,476个字符表示,以达到所有字符都具有唯一编码.

3.Unicode和BigEndianUnicode
    这两者只是存储顺序不同,如"A"的unicode编码为65 00
    其BigEndianUnicode编码为00 65

4.  UTF-8

    这是为传输而设计的编码,其系列还有UTF-7和UTF-16
    其中UTF-16和Unicode编码大致一样, UTF-8就是以8位为单元对Unicode进行编码。从Unicode到UTF-8的编码方式如下:
     Unicode编码(16进制)      UTF-8 字节流(二进制)
     0000 - 007F         0xxxxxxx
     0080 - 07FF         110xxxxx 10xxxxxx
     0800 - FFFF         1110xxxx 10xxxxxx 10xxxxxx

  例如“汉”字的Unicode编码是6C49。6C49在0800-FFFF之间,所以肯定要用3字节模板了:1110xxxx 10xxxxxx 10xxxxxx。将6C49写成二进制是:0110 110001 001001, 用这个比特流依次代替模板中的x,得到:11100110 10110001 10001001,即E6 B1 89。 

UNICODE,GBK,UTF-8区别 补充

编辑推荐
转自:http://blog.csdn.net/lvxiangan/article/details/8151670 GBK,ISO-8859-1,GB2312的本质区别
ASCII、Unicode、GBK和UTF-8字符编码的区别联系 很久很久以前,有一群人,他们决定用8个可以开合的
在修改一个cms的过程当中遇到一个php截取字符串的函数(当然得兼容中英字符了),因为对各种编码的
这是一个异常经典的问题,有无数的新手站长每天都在百度这个问题,而我,作为一个“伪老手”站长,
个人博客同步 :http://gourderwa.com/字符编码/JAVA%20编码之各字符编码的区别联系,常见编码问题
字符串的序列化: 从char序列到byte序列的转化,叫做“编码”。 1>java的String本质上是char数组
  继续上次的学习内容,写一些自己学习的笔记吧!总是觉得没有笔记的学习总是不那么踏实,我承认
GBK,ISO-8859-1,GB2312的本质区别 编码有几种 ,计算机最初是在美国等国家发明的 所以表示字符只有
ASCII ASCII码是7位编码,编码范围是0x00-0x7F。ASCII字符集包括英文字母、阿拉伯数字和标点符号等
 一、编码历史与区别 一直对字符的各种编码方式懵懵懂懂,什么ANSI UNICODE UTF-8 GB2312 GBK D
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号