public class QueryStringDecoder
extends java.lang.Object
QueryStringDecoder
decoder = new QueryStringDecoder
("/hello?recipient=world&x=1;y=2");
assert decoder.path().equals("/hello");
assert decoder.parameters().get("recipient").get(0).equals("world");
assert decoder.parameters().get("x").get(0).equals("1");
assert decoder.parameters().get("y").get(0).equals("2");
该解码器还可以解码内容类型为application/x-www-form-urlencoded的HTTP POST请求的内容:
QueryStringDecoder
decoder = new QueryStringDecoder
("recipient=world&x=1;y=2", false);
...
QueryStringEncoder
Constructor and Description |
---|
QueryStringDecoder(java.lang.String uri)
创建一个解码指定URI的新解码器。
|
QueryStringDecoder(java.lang.String uri, boolean hasPath)
创建一个新的解码器,用于解码指定字符集中编码的指定URI。
|
QueryStringDecoder(java.lang.String uri, java.nio.charset.Charset charset)
创建一个新的解码器,用于解码指定字符集中编码的指定URI。
|
QueryStringDecoder(java.lang.String uri, java.nio.charset.Charset charset, boolean hasPath)
创建一个新的解码器,用于解码指定字符集中编码的指定URI。
|
QueryStringDecoder(java.lang.String uri, java.nio.charset.Charset charset, boolean hasPath, int maxParams)
创建一个新的解码器,用于解码指定字符集中编码的指定URI。
|
QueryStringDecoder(java.net.URI uri)
创建一个解码指定URI的新解码器。
|
QueryStringDecoder(java.net.URI uri, java.nio.charset.Charset charset)
创建一个新的解码器,用于解码指定字符集中编码的指定URI。
|
QueryStringDecoder(java.net.URI uri, java.nio.charset.Charset charset, int maxParams)
创建一个新的解码器,用于解码指定字符集中编码的指定URI。
|
Modifier and Type | Method and Description |
---|---|
static java.lang.String |
decodeComponent(java.lang.String s)
解码浏览器编码的URL的一小部分。
|
static java.lang.String |
decodeComponent(java.lang.String s, java.nio.charset.Charset charset)
解码由浏览器编码的URL的一小部分。
|
java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
parameters()
返回URI的解码键值参数对。
|
java.lang.String |
path()
返回URI的解码路径字符串。
|
java.lang.String |
rawPath()
返回URI的原始路径字符串。
|
java.lang.String |
rawQuery()
返回URI的原始查询字符串。
|
java.lang.String |
toString() |
java.lang.String |
uri()
返回用于初始化此 QueryStringDecoder 的uri。
|
public QueryStringDecoder(java.lang.String uri)
public QueryStringDecoder(java.lang.String uri, boolean hasPath)
public QueryStringDecoder(java.lang.String uri, java.nio.charset.Charset charset)
public QueryStringDecoder(java.lang.String uri, java.nio.charset.Charset charset, boolean hasPath)
public QueryStringDecoder(java.lang.String uri, java.nio.charset.Charset charset, boolean hasPath, int maxParams)
public QueryStringDecoder(java.net.URI uri)
public QueryStringDecoder(java.net.URI uri, java.nio.charset.Charset charset)
public QueryStringDecoder(java.net.URI uri, java.nio.charset.Charset charset, int maxParams)
public java.lang.String toString()
toString
在课程
java.lang.Object
public java.lang.String uri()
QueryStringDecoder
的uri。
public java.lang.String path()
public java.util.Map<java.lang.String,java.util.List<java.lang.String>> parameters()
public java.lang.String rawPath()
public java.lang.String rawQuery()
public static java.lang.String decodeComponent(java.lang.String s)
这相当于使用UTF-8字符集调用decodeComponent(String, Charset)
(建议遵守RFC 3986,第2节)。
s
- 要解码的字符串(可以为空)。
s
如果没有任何解码。
如果要解码的字符串是null
,则返回空字符串。
java.lang.IllegalArgumentException
- 如果该字符串包含格式不正确的转义序列。
public static java.lang.String decodeComponent(java.lang.String s, java.nio.charset.Charset charset)
该字符串预计将按照RFC 3986第2部分进行编码。这是JavaScript函数encodeURI
和encodeURIComponent
使用的编码,但不是escape
。 例如在此编码中,Ã(Unicode U+00E9
或UTF-8 0xC3 0xA9
)编码为%C3%A9
或%c3%a9
。
这基本上等同于调用URLDecoder.decode(String, String)
不同之处在于它的速度提高了2倍以上,并为GC生成更少的垃圾。 其实这个函数不分配任何内存,如果没有任何解码,参数本身返回。
s
- 要解码的字符串(可以为空)。
charset
- 用于解码字符串的字符集(应该是
CharsetUtil.UTF_8
。
s
如果没有解码的话。
如果要解码的字符串是null
,则返回空字符串。
java.lang.IllegalArgumentException
- 如果该字符串包含格式错误的转义序列。
Copyright © 2008–2018 The Netty Project. All rights reserved.