常用字符编码
在计算机世界里面,所有文字都是通过编码来实现描述的,对于编码而言,如果没有正确的解码,那么就可能产生乱码。如果要想去避免这个乱码问题,就必须清楚常见的编码有哪些
GBK GB2312:表示的是国(Guo)标(Biao)编码,GBK包含有简体中文和繁体中文,而GB2312只包含简体中文,也就是说这两个编码都是描述中文的编码;
UNICODE编码:是java提供的16进制编码,可以描述世界上任意文字信息,但是有个问题如果现在所有的字母也都使用十六进制编码,那么这个编码太庞大了,一定会造成网络传输的负担;
ISO8859-1:是国际通用编码,但是所有的编码都需要进行转换。
UTF编码:相当于结合了UNICODE ISO8859-1编码,也就是说需要使用到十六进制的文字就使用UNICODE 而如果只是字母那么就使用原始的ISO8859-1,而常用的就是UTF-8的形式
在以后的开发中,使用的编码只有一个:UNF-8编码。
乱码产生分析
既然清楚了常用的编码,那么下面就可以观察一下乱码的产生。如果要想观察出乱码,首先必须知道当前操作系统默认支持的编码是什么(或者java的默认编码)
范例:
1 package cn.Tony.demo; 2 3 public class TestDemo{ 4 public static void main(String[] args) throws Exception { 5 System.getProperties().list(System.out); 6 } 7 }
如果说现在本地系统使用的是GBK UTF-8编码。那么默认保存中文的时候就会选择默认使用的编码,如果强制转换,就会出现乱码。
乱码的本质:编码和解码不同意造成的问题,
以后就使用UTF-8