1. 字符集及ASCII
2. GBK
3. Unicode
4. UTF-8
字符集的概述
注意:主要有中文的问题就会出现编码问题
字符:汉字、标点、英文字母
字符集:字符集就是一本大的字典,其中包括ASCII字符集、Unicode字符集、ISO-8859-1字符集、GB2312、GBK
字符编码:字符+字节(例如ABC123共有6个字符,占用几个字节?6/9/12/14/24/28)
计算机基本原理
计算机组成时半导体芯片,有大量的晶体管。究竟几个字节表示一个字母?
ASCII(American standard code for Information) 美国标准信息互换码,标准7位。扩展ASCII码,256种状态。一个字符只占一个字节。
中文字符集
GB2312中,前128个ASCII码的字符,128之后,两个字符连接一起表示一个汉字。1993年,GBK编码。GB18030-2000,增加少数民族的汉字。(中国ABC123,占用10个字节)
unicode字符集
ISO国际标准化组织(universal multiple-octec)
16位统一表示所有字符。
Unicode与GBK最大的区别
Unicode与GBK都是双字节编码,但unicode的编码中每个字符都是两个字节,GBK中前128个字节是单字节。
unicode(utf8/utf16/utf32)
unicode transform format
UTF16:任何字节都是两个字节保存,utf16的效率高,字符到字节相互转化简单。java采用UTF-16
UTF8:UTF8比UTF16解码复杂。UTF8是可变字节编码,文本是一个字节一个字节读取。一个字符占用一个字节、一个字符占用两个字节、一个字符占用三个字节。
一个字节代表一个字符。第一个字节为0
两个字节代表一个字符。第一个字节的前三位是100,第二个字节的前两位10,说明两个字节代表一个字符。
三个字节代表一个字符。第一个字节1110,第二个字节110,第三个字节10,说明三个字节代表一个字符。
网友评论