public class PercentCodec extends Object implements Encoder<byte[],byte[]>, Serializable
百分号编码会对 URI 中不允许出现的字符或者其他特殊情况的允许的字符进行编码,对于被编码的字符,最终会转为以百分号"%“开头,后面跟着两位16进制数值的形式。 举个例子,空格符(SP)是不允许的字符,在 ASCII 码对应的二进制值是"00100000”,最终转为"%20"。
对于不同场景应遵循不同规范:
Modifier and Type | Class and Description |
---|---|
static class |
PercentCodec.Builder
|
Constructor and Description |
---|
PercentCodec()
构造
[a-zA-Z0-9]默认不被编码 |
PercentCodec(BitSet safeCharacters)
构造
|
Modifier and Type | Method and Description |
---|---|
byte[] |
encode(byte[] bytes)
执行编码
|
String |
encode(CharSequence path,
Charset charset,
char... customSafeChar)
将URL中的字符串编码为%形式
|
boolean |
isSafe(char c)
检查给定字符是否为安全字符
|
public PercentCodec()
public PercentCodec(BitSet safeCharacters)
safeCharacters
- 安全字符,安全字符不被编码public boolean isSafe(char c)
c
- 字符true
表示安全,否则非安全字符public byte[] encode(byte[] bytes)
Encoder
public String encode(CharSequence path, Charset charset, char... customSafeChar)
path
- 需要编码的字符串charset
- 编码, null
返回原字符串,表示不编码customSafeChar
- 自定义安全字符Copyright © 2025. All rights reserved.