字符集与编码

ASCII: 最早的编码,只支持英文字符集。
ISO-8899-1:对ASCII的扩展单字节,只支持欧洲字符集。
ANSI:GB2312, GBK, BIG5都属于ANSI,在每个国家地区都有各自的标准,是默认的本地字符集。英文1个字节,汉字2个字节。GB2312是简体中文,GBK是中文大字符集。
UNICODE:为各种语言中的每一个字符设定了统一并且唯一的数字编号。一般用两个字节存储一个字符,称为宽字节字符。
UTF8:UNICODE字符集的一种编码,英文使用1个字节,汉字大概3字节表示。

Java中的String使用Unicode,内部实现使用UTF16的变体,输入输出默认使用UTF-8。
string = new String(bytes, "GBK");表示用GBK来解析所给出的字节数组。
byte [] bytes = string.getBytes("GBK");得到GBK编码表示的字节数组。
乱码时的解决方法是:String s2 = new String(s1.getBytes(“ISO-8859-1”),”GBK”);

你可能感兴趣的:(字符集)