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的中文参数进行编码是按照浏览器机制进行编码的。此时编码存在乱码问题。
  • 相关阅读:
    Nginx进阶-不停服更新
    Tengine安装
    初识Nginx
    自建Nuget服务器
    WebApi PUT、DELETE请求时出现405
    Mysql分页查询性能分析
    Asp.Net WebApi Swagger终极搭建
    到底什么是程序员思维,设计师思维
    [有了SSL证书,如何在IIS环境下部署https?【转载】]
    div 文章内容自动分屏显示
  • 原文地址:https://www.cnblogs.com/cosyer/p/7070830.html
Copyright © 2011-2022 走看看