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();
}
}
分享到:
相关推荐
对于特定环境下的问题,如在Linux和Windows系统之间的差异,可以采用双层`encodeURI()`编码的方法。即在发送中文参数前,先执行一次`encodeURI()`,然后再对结果再次执行`encodeURI()`,确保所有字符都被充分编码。...
如果不想在url中看到有明文,比如http://localhost:8080/template_1/login.action?user=张三 可以使用js的encodeURI的URLDecoder.decode一起使用一起来把url加密下 (1)JS在页面上把数据var val = encodeURI...
- **一次转码**:使用`encodeURI()` 对URL进行编码,然后在服务器端使用适当的解码方法,如Java中的`new String(name.getBytes("ISO-8859-1"), "UTF-8")`,确保从ISO-8859-1转回UTF-8。 - **二次转码**:先使用`...
### JavaScript中encodeURI和decodeURI方法使用介绍 #### 一、基本概念 在JavaScript中,`encodeURI`和`decodeURI`是一对用于处理URL编码的重要函数。它们主要用于解决URL中包含非ASCII字符时可能出现的问题。 - ...
serialize , encodeURIComponent encodeURI 中文转成GBK编码 encodeURIComponent encodeURI 默认转 utf-8 ;重写方法 转成GBK
encodeURI和encodeURIComponet函数都是javascript中用来对URI进行编码,将相关参数转换成UTF-8编码格式的数据。URI在进行定位跳转时,参数里面的中文、日文等非ASCII编码都会进行编码转换
常见的三种编码方法是`escape`、`encodeURI`和`encodeURIComponent`。这些函数各有其特定的用途,理解和掌握它们的区别对于编写健壮的JavaScript代码至关重要。 1. `escape` 函数: `escape`方法主要用于对字符串...
一、基本概念 encodeURI和decodeURI是成对来使用的,因为浏览器的地址栏有中文字符的话,可以会出现不可预期的错误,所以可以encodeURI把非英文字符转化为... encodeURI()方法相当于java.net.URLEncoder.encode(URIStri
在进行SaaS前端开发的时候,大家经常会用到两个JavaScriptNative函数:encodeURI 和 encodeURIComponent。这篇文章详细解释这两个函数的用途并比较它们的不同之处
`encodeURI`函数是JavaScript提供的一个内置方法,它的作用是对整个URL进行编码,包括特殊字符,但保留某些URL的保留字符,如冒号、斜线和问号。这个方法不会对ASCII字母和数字进行编码,也不会对以下字符进行编码:...
本文将详细介绍JavaScript中的`encodeURI`函数和Java中的`URLDecoder.decode`方法,以及如何结合两者实现URL的加密处理。 #### 二、JavaScript中的`encodeURI`函数 `encodeURI`函数用于对整个URI进行编码,除了保留...
主要介绍了JavaScript使用encodeURI()和decodeURI()获取字符串值的方法,实例分析了encodeURI()和decodeURI()函数解析字符串的相关技巧,需要的朋友可以参考下
在JavaScript中,`encodeURI`函数是用来对URI(统一资源标识符)进行编码的,它遵循RFC 3986标准,保留了某些特殊字符不被编码,如空格被编码为`+`,这对于HTTP请求是必要的。然而,当我们需要处理中文或其他非ASCII...
在JavaScript中,`escape()`, `encodeURI()`, 和 `encodeURIComponent()` 是三个常见的字符串编码函数,它们各自有独特的用途和特点。理解它们的区别对于编写健壮的JavaScript代码至关重要。 首先,`escape()` 函数...
在JavaScript中,确保使用UTF-8编码序列化JSON对象,在Java服务端,使用`URLDecoder.decode`方法以正确的字符集解码请求参数。在必要时,可以通过前端的URL编码或Base64加密,后端的解码来进一步保证数据传输的准确...
同学的毕业设计出现JavaScript用encodeURIComponentt编码后无法再后台解码的问题。 原来他是这样写的: window.self.location="searchbytext.action?searchtext="+encodeURIComponent(seartext);