`

URL编码 百分号编码 URLDecoder.decode的大致实现原理

阅读更多

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 : 中文

 

分享到:
评论

相关推荐

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

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

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

    本文将详细介绍JavaScript中的`encodeURI`函数和Java中的`URLDecoder.decode`方法,以及如何结合两者实现URL的加密处理。 #### 二、JavaScript中的`encodeURI`函数 `encodeURI`函数用于对整个URI进行编码,除了保留...

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

    `URLEncoder.encode()` 和 `URLDecoder.decode()` 是Java标准库中的两个关键方法,分别用于对URL参数进行编码和解码,以确保数据能够正确无误地在网络间传输。 **`URLEncoder.encode()`** 方法接受两个参数:需要...

    网址编码解码,jQuery版Url.encode,Url.decode,Url.parse.rar

    网址编码解码,jQuery版Url.encode,Url.decode,Url.parse,一个来自jQuery的URL Decoder解码、编码插件,为你的URL安全定义一道安全防线,示例文件本身就是一个值得学习的实例,自带的示例将告诉你如何使用这款URL...

    用C++来实现UrlEncode

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

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

    2. `URLDecoder.decode`: 解码URL中的编码字符串,恢复原始的文本信息。 在处理网络请求、特别是涉及到中文字符和其他特殊字符时,这两个工具类是必不可少的。理解它们的工作原理和使用方法,能帮助开发者避免编码...

    超链接传值不显示中文

    `encodeURI`函数可以将URL中的特殊字符转换为百分号编码的形式,使得这些特殊字符能够安全地在网络中传输。但需要注意的是,对于URL参数中的中文字符,仅需调用一次`encodeURI`即可。 #### 2.2 服务器端解码处理 `...

    url编码解码

    URL(Uniform Resource Locator)编码也称为百分号编码,是一种对URL中的特殊字符进行转义的方式。URL编码主要用于确保URL中的所有字符都能被正确地传输到服务器,并且能够被服务器正确解析。 #### 二、URL编码解码...

    Android客户端发送请求中文乱码问题完美解决

    在上面的代码中,我们使用URLDecoder.decode()方法将编码后的字符串解码为原始字符串"中文关键词"。 TOMCAT服务器编码设置 除了在客户端和服务器端进行编码和解码外,我们还需要在TOMCAT服务器端设置编码格式为UTF...

    urlcode解码-HTTP:URL编码解码

    在Java中,可以使用`java.net.URLEncoder.encode()`和`java.net.URLDecoder.decode()`方法。 在处理网页表单提交或构建动态链接时,URL编码尤其重要。当用户输入的数据包含特殊字符时,为了防止数据丢失或误解,...

    java中的URLEncoder和URLDecoder类.docx

    String decodedStr = URLDecoder.decode("Hello%20World", "UTF-8"); System.out.println(decodedStr); // 输出: Hello World } catch (UnsupportedEncodingException e) { e.printStackTrace(); } ``` - **...

    servlet url传递中文参数

    String decodedValue = URLDecoder.decode(encodedValue, "UTF-8"); ``` 3. **HttpServletRequest对象**:在Servlet中,我们通常通过`HttpServletRequest`对象来获取请求参数。`getParameter()`方法可以用来获取...

    URL解码-编码器URL解码-编码器

    开发者通常会使用编程语言提供的内置函数进行URL编码和解码,例如JavaScript的`encodeURIComponent()`和`decodeURIComponent()`,Python的`urllib.parse.quote()`和`urllib.parse.unquote()`,Java的`java.net....

    url地址传参中文乱码处理

    在接收参数后,使用java.net.URLDecoder.decode("xxxx",“utf-8")将16进制字符转为中文。这种方式需要注意的是,在使用encode转码后,会出现特殊字符,这时候,就需要将特殊字符替换为相应的16进制。 在传参前转码...

    jsp页面url编码_springmvc_controller解码

    这里,`URLDecoder.decode()`方法接收两个参数:要解码的字符串和字符编码。由于URL编码通常使用UTF-8,我们使用了`StandardCharsets.UTF_8.name()`作为字符编码。 在给定的`Reflections.java`文件中,虽然没有提供...

    url编码表,转换编码

    URL编码,也称为百分号编码(Percent-encoding),是统一资源定位符(Uniform Resource Locator)标准的一部分,用于在互联网上编码非ASCII字符。这个编码机制是应用层协议,如HTTP和FTP,用来处理包含特殊字符的...

    URL中文转换

    标准规定,URL中的非字母数字字符(如空格、中文等)需要使用百分号(%)加上两个十六进制数字来表示。例如,中文字符“中”在UTF-8编码下的字节序列是E4 B8 AD,所以它在URL中会被编码为"%E4%B8%AD"。 二、URL中文...

    URL编解码.rar

    在Java中,可以使用`java.net.URLEncoder.encode()`和`java.net.URLDecoder.decode()`。 6. **URL编码与查询参数** 当URL包含查询字符串时,通常会用到编码。查询参数是以键值对形式存在的,键和值之间使用"&"分隔...

    jsurl传值java页面url传值中文编码&amp;amp;amp;解码共2页

    在Java中,解码URL参数可以使用`java.net.URLDecoder.decode()`方法。这个方法接受编码的字符串和字符集,返回解码后的字符串。例如: ```java String encodedStr = "%E4%B8%AD%E6%96%87"; str = URLDecoder.decode...

Global site tag (gtag.js) - Google Analytics