public class EscapeUtil extends Object
| Constructor and Description |
|---|
EscapeUtil() |
| Modifier and Type | Method and Description |
|---|---|
static String |
escape(CharSequence content)
Escape编码(Unicode)(等同于JS的escape()方法)
该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: * @ - _ + . / 其他所有的字符都会被转义序列替换。 |
static String |
escape(CharSequence content,
Filter<Character> filter)
Escape编码(Unicode)
该方法不会对 ASCII 字母和数字进行编码。 |
static String |
escapeAll(CharSequence content)
Escape编码(Unicode)
该方法不会对 ASCII 字母和数字进行编码。 |
static String |
escapeHtml4(CharSequence html)
转义HTML4中的特殊字符
|
static String |
escapeXml(CharSequence xml)
转义XML中的特殊字符
& (ampersand) 替换为 & < (less than) 替换为 < > (greater than) 替换为 > " (double quote) 替换为 " ' (single quote / apostrophe) 替换为 ' |
static String |
safeUnescape(String content)
安全的unescape文本,当文本不是被escape的时候,返回原文。
|
static String |
unescape(String content)
Escape解码支持两种转义格式的解码:
%XX - 两位十六进制数字,用于表示ASCII字符(0-255)
%uXXXX - 四位十六进制数字,用于表示Unicode字符
对于不完整的转义序列,本方法会将其原样保留而不抛出异常:
字符串末尾的单独"%"字符会被原样保留
"%u"后面不足4位十六进制数字时,整个不完整序列会被原样保留
"%"后面不足2位十六进制数字时(非%u格式),整个不完整序列会被原样保留
例如:
unescape("test%") = "test%" // 末尾的%被保留
unescape("test%u12") = "test%u12" // 不足4位,原样保留
unescape("test%2") = "test%2" // 不足2位,原样保留
unescape("test%20") = "test " // 正常解码空格
unescape("test%u4E2D") = "test中" // 正常解码中文字符
|
static String |
unescapeHtml4(CharSequence html)
反转义HTML4中的特殊字符
|
static String |
unescapeXml(CharSequence xml)
反转义XML中的特殊字符
|
public static String escapeXml(CharSequence xml)
& (ampersand) 替换为 &
< (less than) 替换为 <
> (greater than) 替换为 >
" (double quote) 替换为 "
' (single quote / apostrophe) 替换为 '
xml - XML文本public static String unescapeXml(CharSequence xml)
xml - XML文本public static String escapeHtml4(CharSequence html)
html - HTML文本public static String unescapeHtml4(CharSequence html)
html - HTML文本public static String escape(CharSequence content)
content - 被转义的内容public static String escapeAll(CharSequence content)
content - 被转义的内容public static String escape(CharSequence content, Filter<Character> filter)
content - 被转义的内容filter - 编码过滤器,对于过滤器中accept为false的字符不做编码public static String unescape(String content)
对于不完整的转义序列,本方法会将其原样保留而不抛出异常:
unescape("test%") = "test%" // 末尾的%被保留
unescape("test%u12") = "test%u12" // 不足4位,原样保留
unescape("test%2") = "test%2" // 不足2位,原样保留
unescape("test%20") = "test " // 正常解码空格
unescape("test%u4E2D") = "test中" // 正常解码中文字符
content - 被转义的内容Copyright © 2025. All rights reserved.