j2ee学习笔记URLEncoder.encode(String , enc)处理特殊字符
时间: 2023-06-27 09:02:19 浏览: 170
jsp传参特殊字符
5星 · 资源好评率100%
在 Java 中,如果要将任意字符串编码成符合 URL 规范的字符串,就可以使用 URLEncoder 类的 encode 方法来实现。该方法的语法如下:
```java
public static String encode(String s, String enc) throws UnsupportedEncodingException
```
其中,第一个参数 s 表示要进行编码的字符串,第二个参数 enc 表示字符编码方式。该方法会返回一个编码后的字符串。
在进行 URL 编码时,需要注意以下几点:
1. 只有字母、数字和部分特殊字符(-、_、.、*)可以直接作为 URL 的一部分;其它字符都必须进行编码后才能作为 URL 的一部分。
2. 在 URL 中,空格会被编码为“+”或“%20”(不同的浏览器可能会有不同的处理方式),所以在进行编码时,应该先将空格替换成“+”或“%20”。
3. 在进行编码时,应该指定正确的字符编码方式,否则可能会出现乱码问题。
例如,下面的代码演示了如何将一个字符串进行 URL 编码:
```java
import java.net.URLEncoder;
public class URLEncodeDemo {
public static void main(String[] args) throws Exception {
String s = "hello world!@#$%^&*()_+-=[]{}|\\;':\",./<>?";
String enc = "UTF-8";
String encoded = URLEncoder.encode(s, enc);
System.out.println(encoded);
}
}
```
输出结果为:
```
hello+world%21%40%23%24%25%5E%26%2A%28%29_%2B-%3D%5B%5D%7B%7D%7C%5C%3B%27%3A%22%2C.%2F%3C%3E%3F
```
可以看到,原始字符串中的特殊字符都被编码成了对应的十六进制表示形式。
阅读全文