Package org.miaixz.bus.core.net.url
Class UrlDecoder
java.lang.Object
org.miaixz.bus.core.net.url.UrlDecoder
- All Implemented Interfaces:
Serializable
URL解码,数据内容的类型是 application/x-www-form-urlencoded。
1. 将%20转换为空格 ; 2. 将"%xy"转换为文本形式,xy是两位16进制的数值; 3. 跳过不符合规范的%形式,直接输出
- Since:
- Java 17+
- Author:
- Kimi Liu
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic byte[]decode(byte[] bytes) 解码static byte[]decode(byte[] bytes, boolean isPlusToSpace) 解码static Stringstatic String解码static Stringstatic String解码static StringdecodeForPath(String text, Charset charset) 解码,不对+解码 将%20转换为空格 将 "%xy"转换为文本形式,xy是两位16进制的数值 跳过不符合规范的%形式,直接输出将URL参数解析为Map(也可以解析Post中的键值对参数)decodeObject(String params, String charset) 将URL参数解析为Map(也可以解析Post中的键值对参数)
-
Constructor Details
-
UrlDecoder
public UrlDecoder()
-
-
Method Details
-
decodeForPath
解码,不对+解码- 将%20转换为空格
- 将 "%xy"转换为文本形式,xy是两位16进制的数值
- 跳过不符合规范的%形式,直接输出
- Parameters:
text- 包含URL编码后的字符串charset- 解码的编码,null表示不做解码- Returns:
- 解码后的字符串
-
decodeMap
将URL参数解析为Map(也可以解析Post中的键值对参数)- Parameters:
params- 参数字符串(或者带参数的Path)charset- 字符集- Returns:
- 参数Map
-
decodeObject
将URL参数解析为Map(也可以解析Post中的键值对参数)- Parameters:
params- 参数字符串(或者带参数的Path)charset- 字符集- Returns:
- 参数Map
-
decode
解码 规则见:https://url.spec.whatwg.org/#urlencoded-parsing1. 将+和%20转换为空格(" "); 2. 将"%xy"转换为文本形式,xy是两位16进制的数值; 3. 跳过不符合规范的%形式,直接输出- Parameters:
text- 包含URL编码后的字符串- Returns:
- 解码后的字符串
-
decode
解码 规则见:https://url.spec.whatwg.org/#urlencoded-parsing1. 将+和%20转换为空格(" "); 2. 将"%xy"转换为文本形式,xy是两位16进制的数值; 3. 跳过不符合规范的%形式,直接输出- Parameters:
text- 包含URL编码后的字符串charset- 编码- Returns:
- 解码后的字符串
-
decode
解码1. 将%20转换为空格 ; 2. 将"%xy"转换为文本形式,xy是两位16进制的数值; 3. 跳过不符合规范的%形式,直接输出
- Parameters:
text- 包含URL编码后的字符串isPlusToSpace- 是否+转换为空格- Returns:
- 解码后的字符串
-
decode
解码1. 将%20转换为空格 ; 2. 将"%xy"转换为文本形式,xy是两位16进制的数值; 3. 跳过不符合规范的%形式,直接输出
- Parameters:
text- 包含URL编码后的字符串charset- 编码,null表示不做解码isPlusToSpace- 是否+转换为空格- Returns:
- 解码后的字符串
-
decode
public static byte[] decode(byte[] bytes) 解码1. 将+和%20转换为空格 ; 2. 将"%xy"转换为文本形式,xy是两位16进制的数值; 3. 跳过不符合规范的%形式,直接输出
- Parameters:
bytes- url编码的bytes- Returns:
- 解码后的bytes
-
decode
public static byte[] decode(byte[] bytes, boolean isPlusToSpace) 解码1. 将%20转换为空格 ; 2. 将"%xy"转换为文本形式,xy是两位16进制的数值; 3. 跳过不符合规范的%形式,直接输出
- Parameters:
bytes- url编码的bytesisPlusToSpace- 是否+转换为空格- Returns:
- 解码后的bytes
-