URLEncoder.encode转为String 但是URL识别不了
时间: 2023-11-22 21:36:46 浏览: 52
URLEncoder.encode方法只是将字符串编码为符合URL编码规范的字符串,但是它并不会将编码后的字符串自动转换为URL对象。如果您想将编码后的字符串转换为URL对象,可以使用Java中的URL类,例如:
```
String encodedUrl = URLEncoder.encode("http://www.example.com/?param1=value1¶m2=value2", "UTF-8");
URL url = new URL(encodedUrl);
```
在上面的代码中,我们先使用URLEncoder.encode方法将URL字符串进行编码,然后再使用URL类将编码后的字符串转换为URL对象。但是需要注意的是,如果URL字符串本身就不符合URL的规范,那么即使对它进行编码,也无法被识别为有效的URL对象。
相关问题
j2ee学习笔记URLEncoder.encode(String , enc)处理特殊字符
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 编码的十六进制表示。
URLEncoder.encode
`URLEncoder.encode()`是Java中的一个用于URL编码的方法。它的作用是将字符串编码为符合URL规范的格式,可用于在URL中传递参数和值。
在URL中,有一些特殊字符(例如空格、&、=、?等)需要进行编码,以便能够正确地传递给服务器端。`URLEncoder.encode()`方法可以将这些特殊字符编码成%后面跟着两位十六进制数的形式。
例如,如果您想要将字符串"Hello World"编码为URL格式,可以使用以下代码:
```
String encodedString = URLEncoder.encode("Hello World", "UTF-8");
```
其中,第一个参数是需要编码的字符串,第二个参数是指定编码格式,这里使用的是UTF-8。执行以上代码后,变量`encodedString`中的值将为"Hello%20World",其中空格被编码为%20。
需要注意的是,`URLEncoder.encode()`方法只对特定的字符进行编码,例如空格、&、=、?等。如果您需要对其他字符进行编码,可以考虑使用其他编码方式。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)