zoukankan      html  css  js  c++  java
  • URLDecoder和URLEncoder的使用总结

    其实,这两个类的使用并不复杂,URLDecoder和URLEncoder它的作用主要是用于普通字符串和application/x-www-form-rulencoded MIME字符串之间的转换,一般的人会以为后一个字符串比较专业,以为有什么高深的知识,其实不然.
          下面,我们在在"百度"中搜索"网络时空",会看到如下所示的图示

     

    URLDecoder和URLEncoder的使用总结 


          从上图中可以看出:当我们搜索的关健字包含中文时,这些关健字就会变成如图所示的"乱码",实际上这不是乱码,这就是所谓的applicaion/x-www-form-urlencoded MIME字符串.
          当URL地址里包含非西欧字符的字符串时,系统会将这些非西欧转换成如图所示的特殊字符串,那么编码过程中可能涉及将普通字符串和这种特殊字符串的相关转换,这就是需要使用URLDecoder和URLEncoder类

          URLDecoder类包含一个decode(String s,String charcter)静态方法,它可以将看上去乱码的特殊字符串转换成普通字符串
          URLEncoder类包含一个encode(String s,String charcter)静态方法,它可以将普通字符串转换成application/x-www-form-urlencoded MIME字符串

          如下程序代码 
    import java.net.*;

    public class URLDecoderTest
    {
     public static void main(String[] args)
      throws Exception
     {
      //将application/x-www-form-urlencoded字符串
      //转换成普通字符串
      //其中的字符串直接从上图所示窗口复制过来
      String keyWord = URLDecoder.decode(
       "%CD%F8%C2%E7%CA%B1%BF%D5", "UTF-8");
      System.out.println(keyWord);
      //将普通字符串转换成
      //application/x-www-form-urlencoded字符串

      String urlStr = URLEncoder.encode(
       "网络时空" , "UTF-8");
      System.out.println(urlStr);
     }
    }


         上面程序中就是普通中文字符串和application/x-www-form-urlencoded MIME字符串之间的转换.

          运行上面程序结果图示如下

     

    URLDecoder和URLEncoder的使用总结

     

     

    总结:
          当URL地址中仅包含普通非中文字符串和application/x-www-form-urlencoded MIME字符串无须转换,而包含中文字符串的普通字符串则需要转换,换句话说,也就是说URL地址中有"中文字符串"传递时,才会考虑用到上面提到的两个类,这样就可以将传递过来的中文接受后,再还原成原来的中文字符串.如不转换,则通过URL传递过来的中文字符中会变成乱码,无法还原了

  • 相关阅读:
    dotnet 读 WPF 源代码笔记 了解 WPF 已知问题 用户设备上不存在 Arial 字体将导致应用闪退
    WPF 基础 2D 图形学知识 判断点是否在线段上
    WPF 实现自定义的笔迹橡皮擦
    WPF 加载诡异的字体无法布局
    dotnet 5 从 IL 层面分析协变返回类型新特性
    WPF 笔迹触摸点收集工具
    dotnet C# 序列化 XML 时进行自动格式化
    自定义systemctl服务
    maven之三大特性属性、profile、资源过滤
    dependencyManagement与dependencies
  • 原文地址:https://www.cnblogs.com/jpfss/p/9894623.html
Copyright © 2011-2022 走看看