计算机基本编码 UTF-8 与 UTF-16 的优劣

来源:互联网 发布:淘宝之前的电商 编辑:程序博客网 时间:2024/05/16 06:17

 

计算机是以 '0' 与 '1' 的形式存储的,但这种0,1 形式的存储并不能让人类能理解。

所以跟计算机打交道需要转换成人能识别的编码,于是最初的 ASCII 码出现了。

 

1, ASCII (美国标准信息交换码。

它是以一个字节的低7 位来表示所有的英文字母,与部份操作符。 介, 总共加起来也只有 2 的7 次方个字符。

也就是128 个字符,很明显128 个英文字母对美帝来说是足够的,但是 到了 西欧部份需要有声调标的国家就不

够用了, ASCII 码只能作为基础码存在了, 这时候 ISO-8859-1  码出现了

2,ISO-8859-1   

ISO-8859-1 扩展了 ASCII 码的不足 将原来的 128  个字符扩展到 256 个了。

3 ,GB2312 

双字节编码的信息交换用汉字编码字符集基本集

对6千多个基本汉字进行编码。

4.GBK 

扩展了 GB2312   将原先 6 千多个的汉字扩展到 2 万多个

5 Unicode

(Universal Code 统一码)是基于通用字符集(Universal Character Set)的标准来发展

Unicode 是一种可变的字符表达形式。 要操作Unicode 需要采用 UTF-16 或 UTF-8

也就是 utf-16 utf-8 事实是 Unicode 的两种表现方式。

 

UTF-8  采用两个字节来 存储 欧系语言字符 

用 2 到 3 个字节来存储亚系语言字符 

UTF-16 是平等的,  不管 欧系 亚系  都采用两个字节 来存储

所以, 如果纯 ASCII 码的存储的话, UTF-8 会占优势, 因为他对西方的字符

存取采用了压缩。

 

相对来说, UTF-16 的移值性会更好。 所以 JAVA虚拟机  用的就是采用 UTF-16 进行存储的。

它不受CPU  的架构所影响。   图一是纯字母  可见, 纯字母时 UTF-8 占优势

 

 

 

 

       

 

       

 

 

0 0