`

java模拟javascript的encodeURI方法

 
阅读更多
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;

public class EncodeURI {

	public static void main(String args[]) throws UnsupportedEncodingException {
		String str = "\\zhong中文!@#~$%^&*()_+ ";
		System.out.println(encode(str));
		System.out.println(URLEncoder.encode(str,"UTF8"));
	}
	
	public static String encode(String str) throws UnsupportedEncodingException{
		String isoStr = new String(str.getBytes("UTF8"), "ISO-8859-1");		
		char[] chars = isoStr.toCharArray();
		StringBuffer sb = new StringBuffer();
		for (int i = 0; i < chars.length; i++) {
			if ((chars[i] <= 'z' && chars[i] >= 'a')
					|| (chars[i] <= 'Z' && chars[i] >= 'A') || chars[i] == '-'
					|| chars[i] == '_' || chars[i] == '.' || chars[i] == '!'
					|| chars[i] == '~' || chars[i] == '*' || chars[i] == '\''
					|| chars[i] == '(' || chars[i] == ')' || chars[i] == ';'
					|| chars[i] == '/' || chars[i] == '?' || chars[i] == ':'
					|| chars[i] == '@' || chars[i] == '&' || chars[i] == '='
					|| chars[i] == '+' || chars[i] == '$' || chars[i] == ','
					|| chars[i] == '#') {
				sb.append(chars[i]);
			} else {
				sb.append("%");
				sb.append(Integer.toHexString(chars[i]));
			}
		}
		return sb.toString();
	}
}
 
分享到:
评论

相关推荐

    javaScript encodeURI中文乱码

    对于特定环境下的问题,如在Linux和Windows系统之间的差异,可以采用双层`encodeURI()`编码的方法。即在发送中文参数前,先执行一次`encodeURI()`,然后再对结果再次执行`encodeURI()`,确保所有字符都被充分编码。...

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

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

    java中文乱码之解决URL中文乱码问题的方法

    - **一次转码**:使用`encodeURI()` 对URL进行编码,然后在服务器端使用适当的解码方法,如Java中的`new String(name.getBytes("ISO-8859-1"), "UTF-8")`,确保从ISO-8859-1转回UTF-8。 - **二次转码**:先使用`...

    javascript中encodeURI和decodeURI方法使用介绍.docx

    ### JavaScript中encodeURI和decodeURI方法使用介绍 #### 一、基本概念 在JavaScript中,`encodeURI`和`decodeURI`是一对用于处理URL编码的重要函数。它们主要用于解决URL中包含非ASCII字符时可能出现的问题。 - ...

    encodeURIComponent encodeURI 中文转GBK编码

    serialize , encodeURIComponent encodeURI 中文转成GBK编码 encodeURIComponent encodeURI 默认转 utf-8 ;重写方法 转成GBK

    JavaScript encodeURI 和encodeURIComponent

    encodeURI和encodeURIComponet函数都是javascript中用来对URI进行编码,将相关参数转换成UTF-8编码格式的数据。URI在进行定位跳转时,参数里面的中文、日文等非ASCII编码都会进行编码转换

    JS中三种编码方式(escape,encodeURI,encodeURIComponent)

    常见的三种编码方法是`escape`、`encodeURI`和`encodeURIComponent`。这些函数各有其特定的用途,理解和掌握它们的区别对于编写健壮的JavaScript代码至关重要。 1. `escape` 函数: `escape`方法主要用于对字符串...

    javascript中encodeURI和decodeURI方法使用介绍

    一、基本概念 encodeURI和decodeURI是成对来使用的,因为浏览器的地址栏有中文字符的话,可以会出现不可预期的错误,所以可以encodeURI把非英文字符转化为... encodeURI()方法相当于java.net.URLEncoder.encode(URIStri

    javascript encodeURI和encodeURIComponent的比较

    在进行SaaS前端开发的时候,大家经常会用到两个JavaScriptNative函数:encodeURI 和 encodeURIComponent。这篇文章详细解释这两个函数的用途并比较它们的不同之处

    URL传中文参数导致乱码的解决方案之encodeURI

    `encodeURI`函数是JavaScript提供的一个内置方法,它的作用是对整个URL进行编码,包括特殊字符,但保留某些URL的保留字符,如冒号、斜线和问号。这个方法不会对ASCII字母和数字进行编码,也不会对以下字符进行编码:...

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

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

    JavaScript使用encodeURI()和decodeURI()获取字符串值的方法

    主要介绍了JavaScript使用encodeURI()和decodeURI()获取字符串值的方法,实例分析了encodeURI()和decodeURI()函数解析字符串的相关技巧,需要的朋友可以参考下

    js的encodeUri编码转换为GBK问题

    在JavaScript中,`encodeURI`函数是用来对URI(统一资源标识符)进行编码的,它遵循RFC 3986标准,保留了某些特殊字符不被编码,如空格被编码为`+`,这对于HTTP请求是必要的。然而,当我们需要处理中文或其他非ASCII...

    Javascript中escape(),_encodeURI()和encodeURIComponent()之精析与比较.doc

    在JavaScript中,`escape()`, `encodeURI()`, 和 `encodeURIComponent()` 是三个常见的字符串编码函数,它们各自有独特的用途和特点。理解它们的区别对于编写健壮的JavaScript代码至关重要。 首先,`escape()` 函数...

    Java Http请求传json数据乱码问题的解决

    在JavaScript中,确保使用UTF-8编码序列化JSON对象,在Java服务端,使用`URLDecoder.decode`方法以正确的字符集解码请求参数。在必要时,可以通过前端的URL编码或Base64加密,后端的解码来进一步保证数据传输的准确...

    encodeURIComponent编码后java后台的解码

    同学的毕业设计出现JavaScript用encodeURIComponentt编码后无法再后台解码的问题。 原来他是这样写的: window.self.location="searchbytext.action?searchtext="+encodeURIComponent(seartext);

Global site tag (gtag.js) - Google Analytics