为了解决DisplayTag的问题,可能要使用这2个类了,本篇继续分析URL编码的问题
以下内容是我翻译的JDK的帮助。
URLEncoder类:
用于HTML的form中数据编码的类。
这个类包含将字符串转换为application/x-www-form-urlencoded MIME 格式的静态方法.
如果想了解HTML的编码细则,请参考HTML规范。
编码规则如下:
字符"a"-"z","A"-"Z","0"-"9",".","-","*",和"_" 都不被编码,维持原值,
空格" "被转换为加号"+"。
所有其他的字符都被认为是不安全的,首先都根据指定的编码scheme被转换为1个或者多个字节。[凭什么认为其他的字符都是不安全的?看来这些规范的制订者中没有中国人呀!]
然后每个字节都被表示成"%xy"格式的由3个字符组成的字符串,xy是字节的2位16进制的表达(xy is the two-digit hexadecimal representation of the byte),推荐的编码scheme为UTF-8,然而,出于兼容性的考虑,如果没有制定编码的scheme,那么将使用当前操作系统的编码的scheme。
如:如果编码scheme是UTF-8,
"The string ü@foo-bar"将被转换为"The+string+%C3%BC%40foo-bar" 。
因为载UTF-8中字符ü被编码成2个字节C3 (十六进制) 和BC (十六进制), 字符@被编码成一个字节40 (十六进制)。
起始于:JDK1.0
这个类共有2个重载方法:
public static String encode(String s, String enc) throws UnsupportedEncodingException。起始于:JDK1.4
和即将被废弃的方法:public static String encode(String s)。(因为这个方法的编码的字符集依赖于程序运行的系统的默认的字符集)。
第一个方法的作用是:根据指定的encode scheme 将一个字符串翻译成application/x-www-form-urlencoded格式。
注意: W3C推荐UTF-8。
参数:
s - 将要被翻译的字符串。
enc - 编码用的character。
返回:翻译后的字符串。
抛出异常: UnsupportedEncodingException - 如果不支持制定的编码
起始于:1.4
另请参考:URLDecoder.decode(java.lang.String, java.lang.String)
类URLDecoder的作用和URLEncoder的作用相反,方法类似,这里就不再赘述了。
如果你想知道你的字符串被编码后的值是什么样,你可以打开www.baidu.com,然后输入你要编码后的数值,然后提交,你可以在地址栏看到你被编码后的字符串
分享到:
相关推荐
Java 中的 URLEncoder 和 URLDecoder 类 在 Java 中,URLEncoder 和 URLDecoder 是两个非常重要的类,它们用于处理 URL 编码和解码问题。在本文中,我们将深入探讨这两个类的使用方法、特点和应用场景。 一、...
在Java Micro Edition (J2ME)环境中,开发者可能会遇到一个问题:标准Java API中的一些功能可能并未包含在其中,比如`URLEncoder`和`URLDecoder`类。这两个类在标准Java SE环境中用于对URL字符串进行编码和解码,以...
URLDecoder 和 URLEncoder 是 Java 中两个重要的类,它们用于完成普通字符串和 application/x-www-form-urlencoded MIME 字符串之间的相互转换。在 Web 开发中,字符串之间的转换是一个常见的问题,特别是在处理非...
在Java Micro Edition (J2ME) 平台上,URLEncoder和URLDecoder是两个非常重要的工具类,主要用于处理HTTP请求中的参数编码与解码。这两个类位于`java.net`包下,对于开发移动应用,尤其是涉及到网络通信的应用时,...
在Java编程语言中,`URLEncoder`与`URLDecoder`是处理URL编码和解码的两个重要工具类。它们主要应用于对字符串进行编码或解码,确保这些字符串能够安全地在网络上传输。尤其是在处理包含特殊字符(如中文字符)的...
在Java编程语言中,`URLDecoder`和`URLEncoder`是两个非常重要的工具类,主要用于处理URL中的中文字符和其他特殊字符。这两个类位于`java.net`包下,可以帮助开发者进行字符串编码和解码,确保数据在网络传输过程中...
`URLEncoder.encode()` 和 `URLDecoder.decode()` 是Java标准库中的两个关键方法,分别用于对URL参数进行编码和解码,以确保数据能够正确无误地在网络间传输。 **`URLEncoder.encode()`** 方法接受两个参数:需要...
Java中的`UrlDecoder`和`UrlEncoder`是两个非常重要的工具类,主要用于处理URL编码和解码的问题。在Web开发中,特别是在HTTP请求和响应中,URL编码是必不可少的步骤,因为URL中不能包含某些特殊字符,如空格、中文...
在Java编程语言中,URLDecoder和URLEncoder是两个非常重要的工具类,主要用于处理URL(统一资源定位符)中的中文字符。这是因为URL的标准格式不支持直接包含非ASCII字符,特别是中文等多字节字符,需要进行特定的...
UrlDecoder和UrlEncoder是Java语言中两个重要的工具类,分别用于URL编码和解码。下面是对这两个类的详细介绍和使用方法。 一、UrlEncoder UrlEncoder是Java语言中一个静态方法的工具类,用于将String转换为...
在Java中,可以使用`java.net.URLEncoder.encode()`方法对加密字符串进行编码,解码则使用`java.net.URLDecoder.decode()`。 7. **异常处理**:在实际应用中,应更全面地处理可能抛出的异常,包括捕获并记录异常...
Java的URLEncoder和URLDecoder类可以帮助我们完成这一任务。 5. **文件下载与存储**:抓取到的图片链接需要下载到本地。Java的FileInputStream和FileOutputStream可以用来读写文件,而URL的openStream()方法可以...
- Java标准库提供了`java.net.URLDecoder` 和 `java.net.URLEncoder` 类,可以用于编码和解码URL。在某些场景下,它们可能比直接操作字符串更安全和方便。 总之,解决Java中的URL中文乱码问题需要理解URL编码的...
8. **URL和URLEncoder/URLDecoder**:`java.net.URL`类用于表示统一资源定位符,而`URLEncoder`和`URLDecoder`则用于对URL中的参数进行编码和解码,以符合URL规范。 9. **FTP和SMTP**:Java还提供了`java.net`包下...
在传参的 jsp 对中文进行编码可以使用 java.net.URLEncoder.encode 函数,在接受的 jsp 对中文进行转码可以使用 URLDecoder.decode 函数。 四、Java 与数据库之间的乱码 大部分数据库都支持以 unicode 编码方式,...
大多数浏览器默认使用UTF-8编码传递参数,因此,服务器端接收中文参数时,需确保正确解码,如使用URLEncoder/URLDecoder进行编码解码。 总结,Java中文乱码问题涉及多个层面,包括源文件编码、编译过程、执行环境...
总之,理解和掌握Java中的中文编码问题对编写健壮的程序至关重要。在处理文本数据时,一定要注意编码的选择和转换,避免出现不可预知的乱码问题。通过正确使用Java提供的API,可以有效地解决各种编码难题。
Java的`URLEncoder`和`URLDecoder`类可以方便地实现这一功能。例如,将URL中的中文参数进行编码: ```java String urlParam = "中文参数"; String encodedParam = URLEncoder.encode(urlParam, "UTF-8"); ``` 在...