Module java.base
Package java.net

Class URLDecoder

java.lang.Object
java.net.URLDecoder

public class URLDecoder extends Object
用于HTML表单解码的实用工具类。该类包含用于解码字符串的静态方法,格式为application/x-www-form-urlencoded MIME格式。

转换过程与URLEncoder类使用的过程相反。假定编码字符串中的所有字符都是以下字符之一:"a"到"z", "A"到"Z", "0"到"9", "-", "_", ".", 和 "*"。字符"%"是允许的,但被解释为特殊转义序列的开始。

转换中应用以下规则:

  • 字母数字字符"a"到"z", "A"到"Z"和"0"到"9"保持不变。
  • 特殊字符".", "-", "*", 和 "_"保持不变。
  • 加号"+"转换为空格字符"   "。
  • 形式为"%xy"的序列将被视为表示一个字节,其中xy是8位的两位十六进制表示。然后,包含一个或多个这些字节序列的子字符串将被替换为编码会导致这些连续字节的字符。用于解码这些字符的编码方案可以指定,或者如果未指定,则将使用默认字符集。

此解码器处理非法字符串的方式有两种可能。它可以保留非法字符,也可以抛出一个IllegalArgumentException。解码器采取哪种方式取决于实现。

自 JDK 版本:
1.2
参见: