zoukankan      html  css  js  c++  java
  • 使用URLEncoder、URLDecoder进行URL参数的转码与解码

    url参数的转码与解码

    import java.net.URLDecoder;
    
    import java.net.URLEncoder;
    
    String strTest = "?=abc?中%1&2<3,4>";
    strTest = URLEncoder.encode(strTest, "UTF-8");
    System.out.println(strTest);
    strTest = URLDecoder.decode(strTest,"UTF-8");
    System.out.println(strTest);

    执行结果:

    %3F%3Dabc%3F%E4%B8%AD%251%262%3C3%2C4%3E
    ?=abc?中%1&2<3,4>

    1.  问题的引出

       在Restful的服务设计中,查询某些信息的时候,一般的URL地址设计为: get /basic/service? keyword=历史 , 之类的URL地址。 但是,在实际的开发和使用中,确是有乱码情况的发生,在后台的读取keyword信息为乱码,无法正确读取。

    2. 乱码是如何产生的?

       由于我们利用URL传递参数这种方式是依赖与浏览器环境中的,也就是说URL及URL中包含的各个key=value格式的传递参数键值对参数是在浏览器地址栏中的处理原理处理相应编码后传递至后台进行解码的。
     
      由于我们没有进行任何处理,此时javascript请求URL并传参数存在中文时(也就是说输入框中输入中文时),对URL的中文参数进行编码是按照浏览器机制进行编码的。此时编码存在乱码问题。
  • 相关阅读:
    Django发送邮件功能
    Django视图中使用本地缓存
    Django中利用type动态操作数据库表
    Django扩展内置User类
    Django开发环境配置(win10)
    MySql隔离级别
    染色法判定二分图
    关押囚犯
    迷一样的牛poj2182
    poj3468 A Simple Problem with Integers
  • 原文地址:https://www.cnblogs.com/cosyer/p/7070830.html
Copyright © 2011-2022 走看看