- 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
。 解码器采用的方法是实现。- 从以下版本开始:
- 1.2
- “
-
-
方法详细信息
-
decode
@Deprecated public static String decode(String s)
已过时。 结果字符串可能会因平台的默认编码而异。 而是使用decode(String,String)方法来指定编码。解码x-www-form-urlencoded
字符串。 平台的默认编码用于确定由“%xy
”形式的任何连续序列表示的字符。- 参数
-
s
- 要解码的String
- 结果
-
新解码的
String
-
decode
public static String decode(String s, String enc) throws UnsupportedEncodingException
使用特定的编码方案解码application/x-www-form-urlencoded
字符串。 提供的编码用于确定由“%xy
”形式的任何连续序列表示的字符。注意: World Wide Web Consortium Recommendation规定应使用UTF-8。 不这样做可能会引起不兼容。
- 参数
-
s
- 要解码的String
-
enc
- 支持的名称 character encoding 。 - 结果
-
新解码的
String
- 异常
-
UnsupportedEncodingException
- 如果需要查询字符编码,但不支持命名字符编码 - 从以下版本开始:
- 1.4
- 另请参见:
-
URLEncoder.encode(java.lang.String, java.lang.String)
-
-