几种常见的编码格式及其区别:
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个字节不等,一般在中文网页中使用此编码,因为这样可以节省空间