`
geelong
  • 浏览: 114228 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java 中访问url 传参数的方法 encode和decode次数的问题

阅读更多

http://abc  是一个接口

当在Java中向它传参数时

需要URLEncoder.encode() 一下

 

在接口的程序中,它会用URLDecoder.decode() 一下

 

不然会出现乱码等问题

 

 

double encode

 

  try{
        System.out.println(URLEncoder.encode("我是","UTF-8"));
        System.out.println(URLEncoder.encode(URLEncoder.encode("我是","UTF-8"),"UTF-8"));
         }catch(Exception e){}
         %E6%88%91%E6%98%AF
         %25E6%2588%2591%25E6%2598%25AF

不同的

 

 

double decode 非encode的文字

 

 try{
         System.out.println(URLDecoder.decode("我是","UTF-8"));
         System.out.println(URLDecoder.decode(URLDecoder.decode("我是","UTF-8"),"UTF-8"));
          }catch(Exception e){}
          我是
          我是

 

内容不变

 

 

double decode 一次encode的文字

 

  try{
         System.out.println(URLDecoder.decode(" %E6%88%91%E6%98%AF","UTF-8"));
         System.out.println(URLDecoder.decode(URLDecoder.decode(" %E6%88%91%E6%98%AF","UTF-8"),"UTF-8"));
          }catch(Exception e){}
          我是
          我是

解码后则内容不再变,和encode不同

 

 

 

double decode 两次encode的文字

  try{
         System.out.println(URLDecoder.decode(" %25E6%2588%2591%25E6%2598%25AF","UTF-8"));
         System.out.println(URLDecoder.decode(URLDecoder.decode(" %25E6%2588%2591%25E6%2598%25AF","UTF-8"),"UTF-8"));
          }catch(Exception e){}
          %E6%88%91%E6%98%AF
          我是

 

结论:encode会不断的改变编码,decode得到原来的编码后,则不会再改变

 

 

 

 

 

 

分享到:
评论

相关推荐

    java中URLEncoder.encode与URLDecoder.decode处理url特殊参数的方法

    主要给大家介绍了关于java中URLEncoder.encode与URLDecoder.decode处理url特殊参数的方法,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。

    JS的encodeURI和java的URLDecoder.decode使用介绍

    如果不想在url中看到有明文,比如http://localhost:8080/template_1/login.action?user=张三 可以使用js的encodeURI的URLDecoder.decode一起使用一起来把url加密下 (1)JS在页面上把数据var val = encodeURI...

    jsp中URL传递中文参数的处理方法

    在页面的url中使用encodeURI(encodeURI(中文)),对中文... 您可能感兴趣的文章:js将json格式的对象拼接成复杂的url参数方法js的form表单提交url传参数(包含+等特殊字符)的两种解决方法JS根据key值获取URL中的参数值及

    java net unicode / native2ascii / url decode / url encode / UTF8 / js url code

    NULL 博文链接:https://lindows.iteye.com/blog/259125

    UrlEncodeUrlDecodeUrl解码Url编码工具

    UrlEncodeUrlDecodeUrl解码Url编码工具 基于UrlEncode,UrlDecode的解码编码工具,支持双向。

    用C++来实现UrlEncode

    本文用C++来实现UrlEncode!

    javabase64-1.3.1

    例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码...

    url中文字符解码

    通过URLEncoder.encode加密地址栏url上得中文字符, 并可通过java.net.URLDecoder.decode(str, charset)解密中文

    Android开发人员不得不收集的代码

    App相关→AppUtils.java 安装App installApp 卸载指定包名的App uninstallApp 获取当前App信息 getAppInfo 获取所有已安装App信息 getAllAppsInfo 根据包名判断App是否安装 isInstallApp 打开指定包名的App ...

    base64-url:URL应用程序的Base64编码,解码,转义和转义

    URL应用程序的Base64编码,解码,转义和取消转义。 原料药 const base64url = require('base64-url') 例子 base64url . encode ( 'Node.js is awesome.' ) // returns Tm9kZS5qcyBpcyBhd2Vzb21lLg base64url . ...

    回头客短信营销系统软件

    //可传 notify 或 ad , adcard,adfangchan,dxztd 五参数, notify: 表示通知类, ad: 表示106通道广告类,adcard: 表示卡发通道广告类, adfangchan:表示106房产专用通道,dxztd:表示低限制通道, $smstype = 'ad';...

    使用BeautifulSoup爬虫程序获取百度搜索结果的标题和url示例

    熟悉Java的jsoup包的话,对于Python的...question_word = “吃货 程序员”url = “http://www.baidu.com/s?wd=” + urllib.quote(question_word.decode(sys.stdin.encoding).encode(‘gbk’))htmlpage = urllib2.url

    ysoserial.jar

    popen = subprocess.Popen(['java', '-jar', fp, 'URLDNS', command], stdout=subprocess.PIPE) BS = AES.block_size pad = lambda s: s + ((BS - len(s) % BS) * chr(BS - len(s) % BS)).encode() mode = AES....

    python3.6.5参考手册 chm

    Python参考手册,官方正式版参考手册,chm版。以下摘取部分内容:Navigation index modules | next | Python » 3.6.5 Documentation » Python Documentation contents What’s New in Python ...

Global site tag (gtag.js) - Google Analytics