URL编码 百分号编码 URLDecoder.decode的大致实现原理
package com.dt.test;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
/***
* URL编码又叫百分号编码 URLDecoder.decode的大致实现原理
*/
class testURLEncode {
public void testURLEncode() {
String testString;
try {
testString = URLEncoder.encode("中文", "utf-8");
System.out.println("testString : " + testString);
testString = testString.replace("%", "");
int length = testString.length() / 2;
byte[] data = new byte[length];
for (int i = 0; i < length; i++) {
data[i] = (byte) Integer.parseInt(testString.substring(2 * i,
2 * i + 2), 16);
}
String result = new String(data, "utf-8");
System.out.println("result : " + result);
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
public void testURLEncodeGBK() {
String testString;
String testString0;
try {
testString = URLEncoder.encode("中文", "utf-8");
testString0 = testString;
System.out.println("testString : " + testString);
testString = URLDecoder.decode(testString0,"GBK");
System.out.println("decode : " + testString);
testString = URLDecoder.decode(testString0,"utf-8");
System.out.println("decode : " + testString);
testString = URLEncoder.encode("中文", "GBK");
System.out.println("decode : " + testString);
testString = URLDecoder.decode(testString,"GBK");
System.out.println("decode : " + testString);
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
public static void main(String[] args) {
new testURLEncode().testURLEncode();
new testURLEncode().testURLEncodeGBK();
}
}
testString : %E4%B8%AD%E6%96%87
result : 中文
testString : %E4%B8%AD%E6%96%87
decode : 涓枃
decode : 中文
decode : %D6%D0%CE%C4
decode : 中文
分享到:
相关推荐
如果不想在url中看到有明文,比如http://localhost:8080/template_1/login.action?user=张三 可以使用js的encodeURI的URLDecoder.decode一起使用一起来把url加密下 (1)JS在页面上把数据var val = encodeURI...
本文将详细介绍JavaScript中的`encodeURI`函数和Java中的`URLDecoder.decode`方法,以及如何结合两者实现URL的加密处理。 #### 二、JavaScript中的`encodeURI`函数 `encodeURI`函数用于对整个URI进行编码,除了保留...
`URLEncoder.encode()` 和 `URLDecoder.decode()` 是Java标准库中的两个关键方法,分别用于对URL参数进行编码和解码,以确保数据能够正确无误地在网络间传输。 **`URLEncoder.encode()`** 方法接受两个参数:需要...
网址编码解码,jQuery版Url.encode,Url.decode,Url.parse,一个来自jQuery的URL Decoder解码、编码插件,为你的URL安全定义一道安全防线,示例文件本身就是一个值得学习的实例,自带的示例将告诉你如何使用这款URL...
本文将深入探讨如何使用C++语言实现URL编码(UrlEncode)功能。URL编码是一种用于处理URL中特殊字符的技术,确保它们能在互联网上安全传输。在C++中实现这一功能涉及到对字符串的遍历、字符识别以及ASCII码与十六...
2. `URLDecoder.decode`: 解码URL中的编码字符串,恢复原始的文本信息。 在处理网络请求、特别是涉及到中文字符和其他特殊字符时,这两个工具类是必不可少的。理解它们的工作原理和使用方法,能帮助开发者避免编码...
`encodeURI`函数可以将URL中的特殊字符转换为百分号编码的形式,使得这些特殊字符能够安全地在网络中传输。但需要注意的是,对于URL参数中的中文字符,仅需调用一次`encodeURI`即可。 #### 2.2 服务器端解码处理 `...
URL(Uniform Resource Locator)编码也称为百分号编码,是一种对URL中的特殊字符进行转义的方式。URL编码主要用于确保URL中的所有字符都能被正确地传输到服务器,并且能够被服务器正确解析。 #### 二、URL编码解码...
在上面的代码中,我们使用URLDecoder.decode()方法将编码后的字符串解码为原始字符串"中文关键词"。 TOMCAT服务器编码设置 除了在客户端和服务器端进行编码和解码外,我们还需要在TOMCAT服务器端设置编码格式为UTF...
在Java中,可以使用`java.net.URLEncoder.encode()`和`java.net.URLDecoder.decode()`方法。 在处理网页表单提交或构建动态链接时,URL编码尤其重要。当用户输入的数据包含特殊字符时,为了防止数据丢失或误解,...
String decodedStr = URLDecoder.decode("Hello%20World", "UTF-8"); System.out.println(decodedStr); // 输出: Hello World } catch (UnsupportedEncodingException e) { e.printStackTrace(); } ``` - **...
String decodedValue = URLDecoder.decode(encodedValue, "UTF-8"); ``` 3. **HttpServletRequest对象**:在Servlet中,我们通常通过`HttpServletRequest`对象来获取请求参数。`getParameter()`方法可以用来获取...
在接收参数后,使用java.net.URLDecoder.decode("xxxx",“utf-8")将16进制字符转为中文。这种方式需要注意的是,在使用encode转码后,会出现特殊字符,这时候,就需要将特殊字符替换为相应的16进制。 在传参前转码...
这里,`URLDecoder.decode()`方法接收两个参数:要解码的字符串和字符编码。由于URL编码通常使用UTF-8,我们使用了`StandardCharsets.UTF_8.name()`作为字符编码。 在给定的`Reflections.java`文件中,虽然没有提供...
URL编码,也称为百分号编码(Percent-encoding),是统一资源定位符(Uniform Resource Locator)标准的一部分,用于在互联网上编码非ASCII字符。这个编码机制是应用层协议,如HTTP和FTP,用来处理包含特殊字符的...
标准规定,URL中的非字母数字字符(如空格、中文等)需要使用百分号(%)加上两个十六进制数字来表示。例如,中文字符“中”在UTF-8编码下的字节序列是E4 B8 AD,所以它在URL中会被编码为"%E4%B8%AD"。 二、URL中文...
在Java中,可以使用`java.net.URLEncoder.encode()`和`java.net.URLDecoder.decode()`。 6. **URL编码与查询参数** 当URL包含查询字符串时,通常会用到编码。查询参数是以键值对形式存在的,键和值之间使用"&"分隔...
在Java中,解码URL参数可以使用`java.net.URLDecoder.decode()`方法。这个方法接受编码的字符串和字符集,返回解码后的字符串。例如: ```java String encodedStr = "%E4%B8%AD%E6%96%87"; str = URLDecoder.decode...
在服务器端,我们可以使用 java.net.URLDecoder.decode 方法来将数据还原成原始的中文数据。例如: String paramsTrans = new String(params.getBytes("ISO-8859-1"),"UTF-8"); params = java.net.URLDecoder....