在下面的代码中,我尝试对特殊字符进行编码
package hello;
//import java.io.UnsupportedEncodingException;
import org.owasp.esapi.ESAPI;
import org.owasp.esapi.Encoder;
import org.owasp.esapi.errors.EncodingException;
public class HelloWorld {
public static void main(String[] args) {
// TODO Auto-generated method stub
//System.out.println("Hello Worldadndh");
// System.out.println("ESAPI.accessacController found: "
// + ESAPI.accessController());
String encodedString = encodeForXML("comma underscore hyphen, _ - & () %");
System.out.println("The encoded string is "+encodedString);
}
public static String encodeForXML(String str)
{
return ESAPI.encoder().encodeForXML(str);
}
}
o/p是
The encoded string is comma underscore hyphen, _ - & () %
是否有一些编码所需的设置?谢谢您。
1条答案
按热度按时间z2acfund1#
在xml中,不需要对下划线字符进行编码。看到了吗https://www.w3.org/tr/xml/#charencoding.
只需转义以下字符:https://www.w3.org/tr/rec-xml/#dt-逃跑。