public class URLDecoder
extends Object
java.lang.Object | |
↳ | java.net.URLDecoder |
HTML表单解码的实用工具类。 该类包含用于解码application/x-www-form-urlencoded
MIME格式的字符串的静态方法。
转换过程与URLEncoder类使用的过程相反。 假定编码字符串中的所有字符是“ a
”到“ z
”,“ A
”到“ Z
”,“ 0
”到“ 9
”和“ -
”,“ _
”,“ .
“和” *
“。 字符“ %
”是允许的,但被解释为特殊转义序列的开始。
以下规则适用于转换:
a
" through "z
", "A
" through "Z
" and "0
" through "9
" remain the same. .
", "-
", "*
", and "_
" remain the same. +
" is converted into a space character "
" . %xy
" will be treated as representing a byte where xy is the two-digit hexadecimal representation of the 8 bits. Then, all substrings that contain one or more of these byte sequences consecutively will be replaced by the character(s) whose encoding would result in those consecutive bytes. The encoding scheme used to decode these characters may be specified, or if unspecified, the default encoding of the platform will be used. 有两种解码器可以处理非法字符串的方法。 它可以单独留下非法字符,也可以抛出IllegalArgumentException
。 解码器采用哪种方法留给实现。
Public constructors |
|
---|---|
URLDecoder() |
Public methods |
|
---|---|
static String |
decode(String s) 此方法在API级别1中已弃用。结果字符串可能因平台的默认编码而异。 相反,使用decode(String,String)方法来指定编码。 |
static String |
decode(String s, String enc) 使用特定编码方案解码 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
String decode (String s)
此方法在API级别1中已弃用。
结果字符串可能因平台的默认编码而异。 相反,使用decode(String,String)方法来指定编码。
解码一个x-www-form-urlencoded
字符串。 该平台的默认编码用于确定哪些字符由任何形式为“ %xy
”的连续序列表示。
Parameters | |
---|---|
s |
String : the String to decode |
Returns | |
---|---|
String |
the newly decoded String |
String decode (String s, String enc)
使用特定的编码方案解码application/x-www-form-urlencoded
字符串。 提供的编码用于确定哪些字符由“ %xy
”形式的任何连续序列表示。
注意: World Wide Web Consortium Recommendation指出应该使用UTF-8。 不这样做可能会导致不兼容。
Parameters | |
---|---|
s |
String : the String to decode |
enc |
String : The name of a supported character encoding. |
Returns | |
---|---|
String |
the newly decoded String |
Throws | |
---|---|
UnsupportedEncodingException |
If character encoding needs to be consulted, but named character encoding is not supported |