package org.springside.modules.utils.text;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import org.apache.commons.lang3.StringEscapeUtils;
/**
* 转义工具集.
*
* 1.JDK提供的URL 转义,转义后的URL可作为URL中的参数
*
* 2.Commons-Lang的xml/html 转义
*
* 比如 "bread" & "butter" 转化为 "bread" & "butter"
*
* @author calvin
*/
public class EscapeUtil {
/**
* URL 编码, Encode默认为UTF-8.
*
* 转义后的URL可作为URL中的参数
*/
public static String urlEncode(String part) {
try {
return URLEncoder.encode(part, Charsets.UTF_8_NAME);
} catch (UnsupportedEncodingException ignored) {
return null;
}
}
/**
* URL 解码, Encode默认为UTF-8. 转义后的URL可作为URL中的参数
*/
public static String urlDecode(String part) {
try {
return URLDecoder.decode(part, Charsets.UTF_8_NAME);
} catch (UnsupportedEncodingException e) {
return null;
}
}
/**
* Xml转码,将字符串转码为符合XML1.1格式的字符串.
*
* 比如 "bread" & "butter" 转化为 "bread" & "butter"
*/
public static String escapeXml(String xml) {
return StringEscapeUtils.escapeXml11(xml);
}
/**
* Xml转码,XML格式的字符串解码为普通字符串.
*
* 比如 "bread" & "butter" 转化为"bread" & "butter"
*/
public static String unescapeXml(String xml) {
return StringEscapeUtils.unescapeXml(xml);
}
/**
* Html转码,将字符串转码为符合HTML4格式的字符串.
*
* 比如 "bread" & "butter" 转化为 "bread" & "butter"
*/
public static String escapeHtml(String html) {
return StringEscapeUtils.escapeHtml4(html);
}
/**
* Html解码,将HTML4格式的字符串转码解码为普通字符串.
*
* 比如 "bread" & "butter"转化为"bread" & "butter"
*/
public static String unescapeHtml(String html) {
return StringEscapeUtils.unescapeHtml4(html);
}
}