使用commons-lang.jar
import org.apache.commons.lang.StringEscapeUtils; public class T { public static void main(String[] args) { String str = "thi is a test 这是一个测试"; String xml = "<?xml version="1.0" encoding="UTF-8"?> " + "<persons> " + " <person id="23"> " + " <name>张 三</name> " + " <age>26</age> " + " </person> " + " <person id="22"> " + " <name>李四</name> " + " <age>25</age> " + " </person> " + "</persons>"; System.out.println("用escapeJava方法转义之后的字符串为:"+ StringEscapeUtils.escapeJava(str)); System.out.println("用unescapeJava方法反转义之后的字符串为:"+StringEscapeUtils.unescapeJava(StringEscapeUtils.escapeJava(str))); System.out.println("用escapeHtml方法转义之后的字符串为:"+StringEscapeUtils.escapeHtml(str)); System.out.println("用unescapeHtml方法反转义之后的字符串为:"+StringEscapeUtils.unescapeHtml(StringEscapeUtils.escapeHtml(str))); System.out.println("用escapeXml方法转义之后的字符串为:"+StringEscapeUtils.escapeXml(xml)); System.out.println("用unescapeXml方法反转义之后的字符串为:"+StringEscapeUtils.unescapeXml(StringEscapeUtils.escapeXml(xml))); System.out.println("用escapeJavaScript方法转义之后的字符串为:"+StringEscapeUtils.escapeJavaScript(str)); System.out.println("用unescapeJavaScript方法反转义之后的字符串为:"+StringEscapeUtils.unescapeJavaScript(StringEscapeUtils.unescapeJavaScript(str))); } }
运行结果:
用escapeJava方法转义之后的字符串为:thi is a test u8FD9u662Fu4E00u4E2Au6D4Bu8BD5 用unescapeJava方法反转义之后的字符串为:thi is a test 这是一个测试 用escapeHtml方法转义之后的字符串为:thi is a test 这是一个测试 用unescapeHtml方法反转义之后的字符串为:thi is a test 这是一个测试 用escapeXml方法转义之后的字符串为:<?xml version="1.0" encoding="UTF-8"?> <persons> <person id="23"> <name>张 三</name> <age>26</age> </person> <person id="22"> <name>李四</name> <age>25</age> </person> </persons> 用unescapeXml方法反转义之后的字符串为:<?xml version="1.0" encoding="UTF-8"?> <persons> <person id="23"> <name>张 三</name> <age>26</age> </person> <person id="22"> <name>李四</name> <age>25</age> </person> </persons> 用escapeJavaScript方法转义之后的字符串为:thi is a test u8FD9u662Fu4E00u4E2Au6D4Bu8BD5 用unescapeJavaScript方法反转义之后的字符串为:thi is a test 这是一个测试