常用 的字符编码有utf-8,GBK,GB2312。在计算机内储存文本信息用ASCII码,每一个字符对应一个唯一的ASCII码。每个汉字要对应唯一的ASCII码。这样国家制定了字符编码标准:GBK、GB2312等。GB是国标的意思,GBK和GB2312主要 用于汉字的编码。而utf-8是全世界通用的。GBK和GB2312文字的储存体积较小(utf-8)。如果你的网页使用了GB2312编码,却被一台没有GB2312编码的电脑访问了,里面所有的汉字都成了乱码。而utf-8是所有电脑都有的。
UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。UTF-8用1到6个字节编码Unicode字符。允许含有BOM,但通常不含有BOM。英文使用一个字节编写,中文三个或四个字节编写。
GBK、GB2312收编的汉字占2个字节,即不论中、英文字符均使用双字节来表示,为了区分中文,将其最高位都设定成1。
UTF-8和GBK之间的转换:
String a = "你好,中国";
String b = new String(a.getBytes("GBK") , "utf-8");