1. 编码的过程是拿字符去查ASCII码表,解码就是拿数字去查ASCII码表。总之都要查表~~
解错了码,可以用错的编回去,再用对的解;但是,编错了码,谁都救不了!
import java.io.UnsupportedEncodingException;
publicclass EncodeTest {
/**
*@paramargs
*@throwsUnsupportedEncodingException
*/
publicstaticvoid main(String[] args)throws UnsupportedEncodingException {
String str = "海南";
byte[] buf = str.getBytes();//编码,gb2312,使用平台的默认字符集将此String编码为byte序列,并将结果存储到一个新的byte数组中。
String newStr = new String(buf);//解码,gb2312
System.out.println(newStr);
newStr = new String(buf,"iso-8859-1");//解码,假如我不知道你用什么编码,我乱解码,用iso-8859-1的格式解码
System.out.println(newStr);//这里输出乱码
//解错了码,用错的码表再编回去
buf = newStr.getBytes("iso-8859-1");
//再用正确的码表再解码
newStr = new String(buf);
System.out.println(newStr);
//编错了码,神仙也救不了了,找不到,随便分配两个码,所以解回去的不知道是什么码,不会再是原来的了。
str = "海南";
buf = str.getBytes("iso-8859-1");//编码
newStr = new String(buf);
System.out.println(newStr);
}
}