public class StringEscapeUtil extends Object
Constructor and Description |
---|
StringEscapeUtil() |
Modifier and Type | Method and Description |
---|---|
static String |
escapeEntities(Entities entities,
String str)
根据指定的规则,将字符串中的部分字符转换成实体编码。
|
static void |
escapeEntities(Entities entities,
String str,
Appendable out)
根据指定的规则,将字符串中的部分字符转换成实体编码。
|
static String |
escapeHtml(String str)
根据HTML的规则,将字符串中的部分字符转换成实体编码。
|
static void |
escapeHtml(String str,
Appendable out)
根据HTML的规则,将字符串中的部分字符转换成实体编码。
|
static String |
escapeJava(String str)
按Java的规则对字符串进行转义。
|
static void |
escapeJava(String str,
Appendable out)
按Java的规则对字符串进行转义。
|
static void |
escapeJava(String str,
Appendable out,
boolean strict)
按Java的规则对字符串进行转义。
|
static String |
escapeJava(String str,
boolean strict)
按Java的规则对字符串进行转义。
|
static String |
escapeJavaScript(String str)
按JavaScript的规则对字符串进行转义。
|
static void |
escapeJavaScript(String str,
Appendable out)
按JavaScript的规则对字符串进行转义。
|
static void |
escapeJavaScript(String str,
Appendable out,
boolean strict)
按JavaScript的规则对字符串进行转义。
|
static String |
escapeJavaScript(String str,
boolean strict)
按JavaScript的规则对字符串进行转义。
|
static String |
escapeSql(String str)
按SQL语句的规则对字符串进行转义。
|
static void |
escapeSql(String str,
Appendable out)
按SQL语句的规则对字符串进行转义。
|
static String |
escapeURL(String str)
将指定字符串编码成
application/x-www-form-urlencoded 格式。 |
static String |
escapeURL(String str,
String encoding)
将指定字符串编码成
application/x-www-form-urlencoded 格式。 |
static void |
escapeURL(String str,
String encoding,
Appendable out)
将指定字符串编码成
application/x-www-form-urlencoded 格式。 |
static void |
escapeURL(String str,
String encoding,
Appendable out,
boolean strict)
将指定字符串编码成
application/x-www-form-urlencoded 格式。 |
static String |
escapeURL(String str,
String encoding,
boolean strict)
将指定字符串编码成
application/x-www-form-urlencoded 格式。 |
static String |
escapeXml(String str)
根据XML的规则,将字符串中的部分字符转换成实体编码。
|
static void |
escapeXml(String str,
Appendable out)
根据XML的规则,将字符串中的部分字符转换成实体编码。
|
static String |
unescapeEntities(Entities entities,
String str)
按指定的规则对字符串进行反向转义。
|
static void |
unescapeEntities(Entities entities,
String str,
Appendable out)
按指定的规则对字符串进行反向转义。
|
static String |
unescapeHtml(String str)
按HTML的规则对字符串进行反向转义,支持HTML 4.0中的所有实体,以及unicode实体如
〹
。 |
static void |
unescapeHtml(String str,
Appendable out)
按HTML的规则对字符串进行反向转义,支持HTML 4.0中的所有实体,以及unicode实体如
〹
。 |
static String |
unescapeJava(String str)
按Java的规则对字符串进行反向转义。
|
static void |
unescapeJava(String str,
Appendable out)
按Java的规则对字符串进行反向转义。
|
static String |
unescapeJavaScript(String str)
按JavaScript的规则对字符串进行反向转义。
|
static void |
unescapeJavaScript(String str,
Appendable out)
按Java的规则对字符串进行反向转义。
|
static String |
unescapeURL(String str)
解码
application/x-www-form-urlencoded 格式的字符串。 |
static String |
unescapeURL(String str,
String encoding)
解码
application/x-www-form-urlencoded 格式的字符串。 |
static void |
unescapeURL(String str,
String encoding,
Appendable out)
解码
application/x-www-form-urlencoded 格式的字符串。 |
static String |
unescapeXml(String str)
按XML的规则对字符串进行反向转义,支持unicode实体如
〹 。 |
static void |
unescapeXml(String str,
Appendable out)
按XML的规则对字符串进行反向转义,支持unicode实体如
〹 。 |
public static String escapeJava(String str)
将双引号和控制字符转换成'\\'
开头的形式,例如tab制表符将被转换成\t
。
Java和JavaScript字符串的唯一差别是,JavaScript必须对单引号进行转义,而Java不需要。
例如:字符串:He didn't say, "Stop!"
被转换成
He didn't say, \"Stop!\"
str
- 要转义的字符串null
,则返回null
public static String escapeJava(String str, boolean strict)
将双引号和控制字符转换成'\\'
开头的形式,例如tab制表符将被转换成\t
。
Java和JavaScript字符串的唯一差别是,JavaScript必须对单引号进行转义,而Java不需要。
例如:字符串:He didn't say, "Stop!"
被转换成
He didn't say, \"Stop!\"
str
- 要转义的字符串strict
- 是否以严格的方式编码字符串null
,则返回null
public static void escapeJava(String str, Appendable out) throws IOException
将双引号和控制字符转换成'\\'
开头的形式,例如tab制表符将被转换成\t
。
Java和JavaScript字符串的唯一差别是,JavaScript必须对单引号进行转义,而Java不需要。
例如:字符串:He didn't say, "Stop!"
被转换成
He didn't say, \"Stop!\"
str
- 要转义的字符串out
- 输出流IllegalArgumentException
- 如果输出流为null
IOException
- 如果输出失败public static void escapeJava(String str, Appendable out, boolean strict) throws IOException
将双引号和控制字符转换成'\\'
开头的形式,例如tab制表符将被转换成\t
。
Java和JavaScript字符串的唯一差别是,JavaScript必须对单引号进行转义,而Java不需要。
例如:字符串:He didn't say, "Stop!"
被转换成
He didn't say, \"Stop!\"
str
- 要转义的字符串out
- 输出流strict
- 是否以严格的方式编码字符串IllegalArgumentException
- 如果输出流为null
IOException
- 如果输出失败public static String escapeJavaScript(String str)
将双引号、单引号和控制字符转换成'\\'
开头的形式,例如tab制表符将被转换成\t
。
Java和JavaScript字符串的唯一差别是,JavaScript必须对单引号进行转义,而Java不需要。
例如:字符串:He didn't say, "Stop!"
被转换成
He didn\'t say, \"Stop!\"
str
- 要转义的字符串null
,则返回null
public static String escapeJavaScript(String str, boolean strict)
将双引号、单引号和控制字符转换成'\\'
开头的形式,例如tab制表符将被转换成\t
。
Java和JavaScript字符串的唯一差别是,JavaScript必须对单引号进行转义,而Java不需要。
例如:字符串:He didn't say, "Stop!"
被转换成
He didn\'t say, \"Stop!\"
str
- 要转义的字符串strict
- 是否以严格的方式编码字符串null
,则返回null
public static void escapeJavaScript(String str, Appendable out) throws IOException
将双引号、单引号和控制字符转换成'\\'
开头的形式,例如tab制表符将被转换成\t
。
Java和JavaScript字符串的唯一差别是,JavaScript必须对单引号进行转义,而Java不需要。
例如:字符串:He didn't say, "Stop!"
被转换成
He didn\'t say, \"Stop!\"
str
- 要转义的字符串out
- 输出流IllegalArgumentException
- 如果输出流为null
IOException
- 如果输出失败public static void escapeJavaScript(String str, Appendable out, boolean strict) throws IOException
将双引号、单引号和控制字符转换成'\\'
开头的形式,例如tab制表符将被转换成\t
。
Java和JavaScript字符串的唯一差别是,JavaScript必须对单引号进行转义,而Java不需要。
例如:字符串:He didn't say, "Stop!"
被转换成
He didn\'t say, \"Stop!\"
str
- 要转义的字符串out
- 输出流strict
- 是否以严格的方式编码字符串IllegalArgumentException
- 如果输出流为null
IOException
- 如果输出失败public static String unescapeJava(String str)
'\\'
开头的形式转换成相应的字符,例如\t
将被转换成tab制表符
如果转义符不能被识别,它将被保留不变。
str
- 不包含转义字符的字符串null
,则返回null
public static void unescapeJava(String str, Appendable out) throws IOException
'\\'
开头的形式转换成相应的字符,例如\t
将被转换成tab制表符
如果转义符不能被识别,它将被保留不变。
str
- 包含转义字符的字符串out
- 输出流IllegalArgumentException
- 如果输出流为null
IOException
- 如果输出失败public static String unescapeJavaScript(String str)
'\\'
开头的形式转换成相应的字符,例如\t
将被转换成tab制表符
如果转义符不能被识别,它将被保留不变。
str
- 包含转义字符的字符串null
,则返回null
public static void unescapeJavaScript(String str, Appendable out) throws IOException
'\\'
开头的形式转换成相应的字符,例如\t
将被转换成tab制表符
如果转义符不能被识别,它将被保留不变。
str
- 包含转义字符的字符串out
- 输出流IllegalArgumentException
- 如果输出流为null
IOException
- 如果输出失败public static String escapeHtml(String str)
例如:"bread" & "butter"
将被转换成
"bread" &
"butter".
支持所有HTML 4.0 entities。
str
- 要转义的字符串null
,则返回null
public static void escapeHtml(String str, Appendable out) throws IOException
例如:"bread" & "butter"
将被转换成
"bread" &
"butter".
支持所有HTML 4.0 entities。
str
- 要转义的字符串out
- 输出流IllegalArgumentException
- 如果输出流为null
IOException
- 如果输出失败public static String escapeXml(String str)
例如:"bread" & "butter"
将被转换成
"bread" &
"butter".
只转换4种基本的XML实体:gt
、lt
、quot
和
amp
。 不支持DTD或外部实体。
str
- 要转义的字符串null
,则返回null
public static void escapeXml(String str, Appendable out) throws IOException
例如:"bread" & "butter"
将被转换成
"bread" &
"butter".
只转换4种基本的XML实体:gt
、lt
、quot
和
amp
。 不支持DTD或外部实体。
str
- 要转义的字符串out
- 输出流IllegalArgumentException
- 如果输出流为null
IOException
- 如果输出失败public static String escapeEntities(Entities entities, String str)
entities
- 实体集合str
- 要转义的字符串null
,则返回null
public static void escapeEntities(Entities entities, String str, Appendable out) throws IOException
entities
- 实体集合str
- 要转义的字符串out
- 输出流IllegalArgumentException
- 如果输出流为null
IOException
- 如果输出失败public static String unescapeHtml(String str)
〹
。
例如:"<Français>"将被转换成"<Français>"
如果实体不能被识别,它将被保留不变。
str
- 不包含转义字符的字符串null
,则返回null
public static void unescapeHtml(String str, Appendable out) throws IOException
〹
。
例如:"<Français>"将被转换成"<Français>"
如果实体不能被识别,它将被保留不变。
str
- 包含转义字符的字符串out
- 输出流IllegalArgumentException
- 如果输出流为null
IOException
- 如果输出失败public static String unescapeXml(String str)
〹
。
例如:"<Français>"将被转换成"<Français>"
如果实体不能被识别,它将被保留不变。
str
- 不包含转义字符的字符串null
,则返回null
public static void unescapeXml(String str, Appendable out) throws IOException
〹
。
例如:"<Français>"将被转换成"<Français>"
如果实体不能被识别,它将被保留不变。
str
- 不包含转义字符的字符串out
- 输出流IllegalArgumentException
- 如果输出流为null
IOException
- 如果输出失败public static String unescapeEntities(Entities entities, String str)
entities
- 实体集合str
- 不包含转义字符的字符串null
,则返回null
public static void unescapeEntities(Entities entities, String str, Appendable out) throws IOException
如果实体不能被识别,它将被保留不变。
entities
- 实体集合str
- 不包含转义字符的字符串out
- 输出流IllegalArgumentException
- 如果输出流为null
IOException
- 如果输出失败public static String escapeSql(String str)
例如:
statement.executeQuery("SELECT * FROM MOVIES WHERE TITLE='" + StringEscapeUtil.escapeSql("McHale's Navy") + "'");
目前,此方法只将单引号转换成两个单引号:"McHale's Navy"
转换成"McHale''s
Navy"
。不处理字符串中包含的%
和_
字符。
str
- 要转义的字符串null
,则返回null
public static void escapeSql(String str, Appendable out) throws IOException
例如:
statement.executeQuery("SELECT * FROM MOVIES WHERE TITLE='" + StringEscapeUtil.escapeSql("McHale's Navy") + "'");
目前,此方法只将单引号转换成两个单引号:"McHale's Navy"
转换成"McHale''s
Navy"
。不处理字符串中包含的%
和_
字符。
str
- 要转义的字符串out
- 输出流IllegalArgumentException
- 如果输出流为null
IOException
- 如果输出失败public static String escapeURL(String str)
application/x-www-form-urlencoded
格式。
除了RFC2396中的unreserved
字符之外的所有字符,都将被转换成URL编码%xx
。
根据RFC2396,unreserved
的定义如下:
<![CDATA unreserved = alphanum | mark alphanum = 大小写英文字母 | 数字 mark = "-" | "_" | "." | "!" | "˜" | "*" | "'" | "(" | ")" ]]>
警告:该方法使用当前线程默认的字符编码来编码URL,因此该方法在不同的上下文中可能会产生不同的结果。
str
- 要编码的字符串,可以是null
public static String escapeURL(String str, String encoding) throws UnsupportedEncodingException
application/x-www-form-urlencoded
格式。
除了RFC2396中的unreserved
字符之外的所有字符,都将被转换成URL编码%xx
。
根据RFC2396,unreserved
的定义如下:
<![CDATA unreserved = alphanum | mark alphanum = 大小写英文字母 | 数字 mark = "-" | "_" | "." | "!" | "˜" | "*" | "'" | "(" | ")" ]]>
该方法使用指定的字符编码来编码URL。
str
- 要编码的字符串,可以是null
encoding
- 输出字符编码,如果为null
,则使用系统默认编码UnsupportedEncodingException
- 如果指定的encoding
为非法的public static String escapeURL(String str, String encoding, boolean strict) throws UnsupportedEncodingException
application/x-www-form-urlencoded
格式。
如果指定参数strict
为true
,则按严格的方式编码URL。 除了RFC2396中的
unreserved
字符之外的所有字符,都将被转换成URL编码%xx
。 根据RFC2396,
unreserved
的定义如下:
<![CDATA unreserved = alphanum | mark alphanum = 大小写英文字母 | 数字 mark = "-" | "_" | "." | "!" | "˜" | "*" | "'" | "(" | ")" ]]>
如果指定参数strict
为false
,则使用宽松的方式编码URL。
除了控制字符、空白字符以及RFC2396中的reserved
字符之外的所有字符,都将被保留不变。
根据RFC2396,只有控制字符、空白字符以及符合下列reserved
定义的字符才被转换成
%xx
格式:
<![CDATA reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | "," ]]>
该方法使用指定的字符编码来编码URL。
str
- 要编码的字符串,可以是null
encoding
- 输出字符编码,如果为null
,则使用当前线程默认的编码strict
- 是否以严格的方式编码URLUnsupportedEncodingException
- 如果指定的encoding
为非法的public static void escapeURL(String str, String encoding, Appendable out) throws IOException
application/x-www-form-urlencoded
格式。
除了RFC2396中的unreserved
字符之外的所有字符,都将被转换成URL编码%xx
。
根据RFC2396,unreserved
的定义如下:
<![CDATA unreserved = alphanum | mark alphanum = 大小写英文字母 | 数字 mark = "-" | "_" | "." | "!" | "˜" | "*" | "'" | "(" | ")" ]]>
该方法使用指定的字符编码来编码URL。
str
- 要编码的字符串,可以是null
encoding
- 输出字符编码,如果为null
,则使用系统默认编码out
- 输出到指定字符流IOException
- 如果输出到out
失败UnsupportedEncodingException
- 如果指定的encoding
为非法的IllegalArgumentException
- out
为null
public static void escapeURL(String str, String encoding, Appendable out, boolean strict) throws IOException
application/x-www-form-urlencoded
格式。
如果指定参数strict
为true
,则按严格的方式编码URL。 除了RFC2396中的
unreserved
字符之外的所有字符,都将被转换成URL编码%xx
。 根据RFC2396,
unreserved
的定义如下:
<![CDATA unreserved = alphanum | mark alphanum = 大小写英文字母 | 数字 mark = "-" | "_" | "." | "!" | "˜" | "*" | "'" | "(" | ")" ]]>
如果指定参数strict
为false
,则使用宽松的方式编码URL。
除了控制字符、空白字符以及RFC2396中的reserved
字符之外的所有字符,都将被保留不变。
根据RFC2396,只有控制字符、空白字符以及符合下列reserved
定义的字符才被转换成
%xx
格式:
<![CDATA reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | "," ]]>
该方法使用指定的字符编码来编码URL。
str
- 要编码的字符串,可以是null
encoding
- 输出字符编码,如果为null
,则使用系统默认编码out
- 输出到指定字符流strict
- 是否以严格的方式编码URLIOException
- 如果输出到out
失败UnsupportedEncodingException
- 如果指定的encoding
为非法的IllegalArgumentException
- out
为null
public static String unescapeURL(String str)
application/x-www-form-urlencoded
格式的字符串。
警告:该方法使用系统字符编码来解码URL,因此该方法在不同的系统中可能会产生不同的结果。
str
- 要解码的字符串,可以是null
public static String unescapeURL(String str, String encoding) throws UnsupportedEncodingException
application/x-www-form-urlencoded
格式的字符串。str
- 要解码的字符串,可以是null
encoding
- 输出字符编码,如果为null
,则使用系统默认编码UnsupportedEncodingException
- 如果指定的encoding
为非法的public static void unescapeURL(String str, String encoding, Appendable out) throws IOException
application/x-www-form-urlencoded
格式的字符串。str
- 要解码的字符串,可以是null
encoding
- 输出字符编码,如果为null
,则使用系统默认编码out
- 输出流IOException
- 如果输出到out
失败UnsupportedEncodingException
- 如果指定的encoding
为非法的IllegalArgumentException
- out
为null
Copyright © 2006–2018 TinyGroup. All rights reserved.