现在的位置: 首页 > 综合 > 正文

编码问题,UTF,ISO8859-1,unicode,ACSii,GBK之间的区别

2019年08月15日 ⁄ 综合 ⁄ 共 1090字 ⁄ 字号 评论关闭

几种常见的编码格式及其区别:

java文件都是由GBK编码

 

在Windows下,由于UTF-8兼容GBK,所以在UTF-8页面可以正常显示中文字符。

 

windows记事本的默认编码方式为ANSI,在简体中文系统下,ANSI 编码代表 GB2312 编码,繁体中文的Windows系统ANSI对应的是Big5

 

GB2312是中国规定的汉字编码,也可以说是简体中文的字符集编码;GBK 是 GB2312的扩展 ,除了兼容GB2312外,它还能显示繁体中文

简体中文windows的默认编码方式是GBK

 

UTF 代表“通用字符集转换格式”。UTF-8 是 8 位形式的 Unicode。

 

Unicode 是所有全球重要脚本的超集。它包含商业和计算机通用的字符集。

 

美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码,一直沿用至今,英语用128个符号编码就够了,但是用来表示其他语言,128个符号是不够的

 

Unicode只是一个符号集,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储,我们已经知道,英文字母只用一个字节表示就够了,如果unicode统一规定,每个符号用三个或四个字节表示,那么每个英文字母前都必然有二到三个字节是0,这对于存储来说是极大的浪费,文本文件的大小会因此大出二三倍,这是无法接受的。

 

UTF-8就是在互联网上使用最广的一种unicode的实现方式,UTF-8最大的一个特点,就是它是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。

对于单个字符:ISO-8859-1单字节编码,GBK双字节编码,UTF-8三字节编码;因此中文平台(中文平台默认字符集编码GBK)下一个中文字符占2个字节,而英文平台(英文平台默认字符集编码Cp1252(类似于ISO-8859-1))。

 

iso8859-1编码属于单字节编码,最多只能表示0-255得到字符范围,主要在英文上应用

 

GBK/GB212:中文的国标编码,专门用来表示汉字,是双字节编码。

 

unicode:java 中就是使用此编码方式,也是最标准的一种编码,是使用16进制表示的编码。但是此编码不兼容iso8859-1.

 

UTF:由于unicode不支持iso8859-1编码,而且容易占用更多的空间,而且对于英文字母也需要使用两个字节编码,这样使用unicode不便于传输和存储,因此产生了utf编码,utf编码兼容了iso8859-1编码,每一个字符的长度从1~6个字节不等,一般在中文网页中使用此编码,因为这样可以节省空间

抱歉!评论已关闭.