j2ee学习笔记URLEncoder.encode(String , enc)处理特殊字符
时间: 2023-08-03 19:45:19 浏览: 158
URLEncoder.encode(String s, String enc) 是一种用于将字符串编码为 application/x-www-form-urlencoded MIME 格式的方法。它可以将字符串中的特殊字符转换为%XX 格式的编码,其中 XX 是两个十六进制的数字。
在 J2EE 开发中,这个方法通常用于生成 URL 或者 HTTP 请求参数。在生成 URL 的过程中,如果 URL 中含有特殊字符,例如空格、中文或者其他不安全字符,就需要使用 URLEncoder.encode() 将这些字符进行编码,以避免 URL 解析错误或者不安全。
举个例子,如果要将字符串 "hello world" 编码为 application/x-www-form-urlencoded 格式,可以使用以下代码:
```
String encoded = URLEncoder.encode("hello world", "UTF-8");
```
执行结果为 "hello+world",其中空格被转换为了加号字符。在使用 HTTP 请求时,通常需要将参数名和参数值都进行编码,例如:
```
String paramName = "name";
String paramValue = "张三";
String encodedName = URLEncoder.encode(paramName, "UTF-8");
String encodedValue = URLEncoder.encode(paramValue, "UTF-8");
String query = encodedName + "=" + encodedValue;
```
生成的 query 字符串为 "name=%E5%BC%A0%E4%B8%89",其中中文字符被转换为了 UTF-8 编码的十六进制表示。
阅读全文