的固定字集中的元素,具体如下:
1.大写字母 A-Z
2.小写字母 a-z
3.
数字 0-9
4.
标点符 - _ . ! ~ * ' (
和 ,)
版权声明:任何获得 Matrix 授权的网站,转载时请务必保留以下作者信息和链接
作者:Elliotte Rusty;leo173(作者的 Blog:http://blog.matrix.org.cn/page/leo173)
原文:http://www.onjava.com/pub/a/onjava/excerpt/jvntwkprg_3e/index.html
译文:http://www.matrix.org.cn/resource/article/44/44187_URLEncoder+URLDecoder.html
关键字:URLs,URIs,Proxies,Passwords
诸如字符: / & ? @ # ; $ + =
和 %也可以被使用,但是它们各有其特殊的用途,如果一个文
件名包括了这些字符( / & ? @ # ; $ + = %),这些字符和所有其他字符就应该被编码。
编码过程非常简单,任何字符只要不是 ASCII 码数字,字母,或者前面提到的标点符,
“
它们都将被转换成字节形式,每个字节都写成这种形式:一个 %”
后面跟着两位 16 进制的数值。空格是一个特殊情况,因为它们太平常了。它除了被编码成
“%20”
“
以外,还能编码为一个 +”。加号(+)本身被编码为%2B。当/ # = & 和?作为名字的
一部分来使用时,而不是作为 URL 部分之间的分隔符来使用时,它们都应该被编码。
WARNING 这种策略在存在大量字符集的异构环境中效果不甚理想。例如:在 U.S.
Windows 系统中, é
被编码为 %E9.
在 U.S. Mac 中被编码为%8E。这种不确定性的存在是现
存的 URI 的一个明显的不足。所以在将来 URI 的规范当中应该通过国际资源标识符(IRIs)
进行改善。
类 URL 并不自动执行编码或解码工作。你能生成一个 URL 对象,它可以包括非法的
ASCII 和非 ASCII 字符和/或%xx。当用方法 getPath() 和 toExternalForm( ) 作为输出方法时,