public class UrlTest {
public static void main(String[] args) throws Exception {
String s = "中文"; //1. 这里是GBK编码
String s1 = URLEncoder.encode(s, "iso8859-1"); //2. 这里再用iso8859-1编码了一回
System.out.println(s1);
byte[] b = s1.getBytes("iso8859-1"); //3. 这里又用iso8859-1编码了一回, 这回编成了字节数组
String s3 = new String(b,"utf-8"); //4. 这里用utf-8解码.
System.out.println(s3);
System.out.println(s1.equals(s3)); //这里的打印结果怎么可以为true呢. 怎么能一样呢?
}
}
/*
说明 : 一个中文字符串(就是中文二字), 先用iso8859-1编码(编码后还是字符串, 见第2步), 再用iso8859-1编码(编码后为字节数组)
最后用utf-8解码成字符串, 怎么变成和第一次打印的结果相同呢? 太费解了吧. 上边那也没用到utf-8啊. 应该解码后是乱七八糟
的字符啊, 最后打印结果怎么为true呢?
*/