java里url编码解析

IE 浏览器字符默认是以utf-8进行发送,在选项高级里可以查看到,如图:

下面是以“中”为例进行解析:
        String str = "中";
        String str1 = URLEncoder.encode(str, "utf-8");
        String str2 = URLEncoder.encode(str1,"gbk");
        System.out.println(str1);
        System.out.println(str2);
        String str3 = URLDecoder.decode(str2,"iso8859-1");
        String str4 = URLDecoder.decode(str3,"utf-8");
        System.out.println(str3);
        System.out.println(str4);

输出结果:

“中”的utf-8编码时%E4%B8%AD,再进行一次gbk编码后是%25E4%25B8%25AD,这是因为此时“%”的ascii码值是25(十六进制)。说明url对任何字符的编码都是在某字符被编码后在前面加一个"%"号来进行标识。在解码时,总是解析“%”后面的一个字节,“%”号不动。所以在以utf-8编码后,中间无论以其他任何形式的字符编码进行编码和解码,只要最后以utf-8进行解码,最后都会得到正确的字符。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值