`

java - URLEncode - URLDeCode

    博客分类:
  • java
 
阅读更多

1.URLEncode - URLDecode 编码加密  这两个类是jdk中封装的类,不需要额外导入jar包

String   para  =   java.net.URLEncoder.encode("乱码",   "utf-8");    -  编码 

String   para1   =   java.net.URLDecoder.decode(para,   "utf-8");   -  解码

para:   %E4%B9%B1%E7%A0%81

para1:  乱码

String  test = new  String(request.getParameter("zhongguo").getBytes("iso8859_1"));     

zhongguo = java.net.URLDecoder.decode(test,"utf-8"); 

 

2.编码中的特殊字符http://blog.sina.com.cn/s/blog_6b2d01f60101763v.html  

URLencode.encode 是'.', '-', '*', '_'符号不编码,而URL传输需要字符串是 "-", ".", "_", "~"不编码。那么可以这样的

String URL="www.baidu.com";

String ENCODING="utf-8";

String strURL= URLEncoder.encode(URL, ENCODING).replace("*","*").replace("~", "~").replace("+"," "); 

3.使用URLDecoder.decode() 方法接收参数时如果参数中含有“%”这个字符,就会抛异常 java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern -,
原因:传参数的时候用encodeURIComponent("是的%试试")%被URL认为是转义的标记,URL规范有自己的规定,%25会被转义成%!你现在的%后面跟了个中文字符,它要转义的时候发现'%试'是它不认识的,就给你报错了!
解决方法:1. 参数用base64转码,接收到后解码一下
Java6自带了jar包的,只要引用下:
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

 /**
  * Base64解密
  * @param key
  * @return
  * @throws Exception
  */
 public static byte[] decoderBase64(String key) throws Exception {
  return (new BASE64Decoder()).decodeBuffer(key);
 }
 /**
  * Base64加密
  * @param key
  * @return
  * @throws Exception
  */
 public static String encoderBase64(byte[] key) throws Exception {
  return (new BASE64Encoder()).encodeBuffer(key);
 }
 
2.使用其他字符替换%
分享到:
评论

相关推荐

    UrlEncodeUrlDecodeUrl解码Url编码工具

    相反,UrlDecode则是UrlEncode的逆过程,它将URL中编码的字符还原为原始形式。当接收到一个编码过的URL后,UrlDecode会识别并替换所有形如"%xy"的序列,将其转化为对应的ASCII字符。 UrlEncode和UrlDecode在实际...

    UrlEncodeDecode解码编码工具(双向)

    在编程语言中,如JavaScript、Python、Java等,都有内置的函数来实现UrlEncode和UrlDecode的操作,但这些函数通常只适用于单一语言环境。而独立的工具则提供了跨平台、跨语言的解决方案,无论你使用何种技术栈,都...

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

    标题中的“java net unicode / native2ascii / url decode / url encode / UTF8 / js url code”涉及了Java网络编程中的几个关键概念,这些概念在处理字符编码时非常重要。以下是对这些概念的详细解释: 1. **...

    idea插件toolsMix(记录下班时间、实时中英文翻译、jsonView、urlEncode、urlDecode、timeFormate)源码

    idea插件toolsMix (记录下班时间、实时中英文翻译、jsonView、urlEncode、urlDecode、timeFormate) 解压toolsMix.zip,toolsMix目录下的zip包为打包好的插件包,可以直接安装

    用C++来实现UrlEncode

    本文将深入探讨如何使用C++语言实现URL编码(UrlEncode)功能。URL编码是一种用于处理URL中特殊字符的技术,确保它们能在互联网上安全传输。在C++中实现这一功能涉及到对字符串的遍历、字符识别以及ASCII码与十六...

    UrlEncode解码

    - PHP提供了`urlencode()`和`urldecode()`函数。 5. **应用场景** - 表单提交:在HTTP GET请求中,表单数据会附在URL后面,非ASCII字符需要编码。 - URL参数:当URL中包含参数时,参数值可能需要编码以避免混淆...

    java使用URLDecoder和URLEncoder对中文字符进行编码和解码

    在Java编程语言中,`URLDecoder`和`URLEncoder`是两个非常重要的工具类,主要用于处理URL中的中文字符和其他特殊字符。这两个类位于`java.net`包下,可以帮助开发者进行字符串编码和解码,确保数据在网络传输过程中...

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

    urlDecode : URL 解码 base64Encode : Base64 编码 base64Encode2String: Base64 编码 base64Decode : Base64 解码 base64UrlSafeEncode: Base64URL 安全编码 htmlEncode : Html 编码 htmlDecode : Html ...

    urlencodeurldecode.zip

    `urlencode`和`urldecode`是两个关键的概念,用于解决这个问题。`urlencodeurldecode.zip`这个压缩包文件提供了一个方便的工具,能够帮助用户快速地对URL进行编码和解码操作。 URL编码是一种按照特定规则将URL中的...

    URLDecoder

    此外,还有一段 JavaScript 代码,定义了 `UrlEncode` 和 `UrlDecode` 函数,其中 `UrlEncode` 实现了更全面的 URL 编码逻辑,包括对非 ASCII 字符的处理。 #### 5. **总结** 综上所述,URL 编码和解码是 Web 开发...

    URL编码,Gb2312页面提交到Utf-8页面

    Function UrlDecode_GBToUtf8(ByVal str) Dim B, ub Dim UtfB, UtfB1, UtfB2, UtfB3 Dim i, n, s n = 0 ub = 0 For i = 1 To Len(str) B = Mid(str, i, 1) Select Case B Case "+" s = s & " " Case "%" ...

    浅谈SpringBoot处理url中的参数的注解

    浅谈SpringBoot处理url中的参数的注解 在SpringBoot框架中,处理url中的参数是非常重要的一步,借助于注解,我们可以轻松地获取url中的参数。下面我们就来浅谈SpringBoot处理url中的参数的注解。 首先,让我们来...

    servlet url传递中文参数

    例如,Apache Commons Lang库提供了`StringUtils`类,其中的`urlDecode()`和`urlEncode()`方法可以简化编码解码操作。 6. **Escape.java**:这个文件名可能是示例代码的一部分,可能包含了用于处理URL编码的实用...

    URL网址编解码.rar

    - PHP:`urlencode()` 和 `urldecode()` 在实际开发中,URL编码不仅限于字符集转换,还包括对URL的规范化,如去除不必要的空格、处理相对路径、添加协议等。了解和掌握URL网址编解码的原理和应用,对于编写健壮的...

    字符转换工具类

    5. **URL编码与解码**:在网络请求中,URL中的特殊字符需要编码为 `%xx` 形式,`urlEncode(String url)` 和 `urlDecode(String encodedUrl)` 可以实现这一功能。 6. **Base64编码与解码**:在传输二进制数据时,...

    java解析php函数json_encode unicode 编码问题

    例如,如果直接使用`***.URLdecoder.decode()`对从服务器获取的JSON数据进行解码,可能会失败,因为JSON字符串本身已经是对数据的编码表示,而不是简单的URL编码。 为了解决这个问题,客户端可以使用以下Java代码来...

    字符串过滤类(StrUtil)

    - `urlDecode(String str, String charset)`: 对URL编码的字符串进行解码。 10. **其他方法** - `contains(String str, String searchStr)`: 检查字符串是否包含指定子字符串。 - `startsWith(String str, ...

    url特殊字符处理方法

    在Java中,使用java.net.URLEncoder.encode(String s)和java.net.URLDecoder.decode(String s)函数来进行URL的编码和解码。在JavaScript中,使用escape(String s)和unescape(String s)函数来进行URL的编码和解码。 ...

    PHP实例开发源码—一麦短网址源码清新版(支持SAE环境).zip

    - URL处理:使用PHP内置函数如`parse_url()`解析URL,`urlencode()`和`urldecode()`进行URL编码解码。 3. **SAE环境** - SAE是新浪提供的PaaS平台,基于云计算,提供包括PHP、Python、Java等多种语言的Web应用...

Global site tag (gtag.js) - Google Analytics