Java相当于JavaScript的反转义函数
Java equivalent to JavaScript unescape function
Java编程语言中是否有类似JavaScript的非转义函数?也就是说,如果我的输入是字符串"I%20need%20help%21",那么输出必须是"I need help!",例如
谢谢!
根据我的经验,如果编码字符串中存在非ascii字符,URLDecoder.decode
可能会失败。例如下面的代码:
URLDecoder.decode("%u017C", "UTF-8"); // %u017C is the result of running in Javascript escape('ż')
抛出以下异常:
Exception in thread "main" java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern - For input string: "u0"
解决这个问题的最好方法,我知道(虽然笨拙)只是在Java中运行Javascript:(
String jsEscapedString = "%u017C";
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("JavaScript");
String result = (String) engine.eval("unescape('" + jsEscapedString + "')");
灵感来自Siva R Vaka的帖子
您可以使用URLDecoder
。假设您使用的是UTF-8:
String result = URLDecoder.decode(s, "UTF-8");
试试这个
URLDecoder dec = new URLDecoder();
String val = dec.decode("I%20need%20help%21","UTF-8");
System.out.println(val);
这很好@Nrj,但是开发人员必须静态地调用它
URLDecoder.decode("I%20need%20help%21","UTF-8");
相关文章:
- 是否有任何函数可以帮助转义 jQuery 选择器中包含的所有元字符?
- 带有Ajax请求的Javascript JSON.parse函数n〃;新行转义字符
- AngularJS和HTML:在onclick函数的变量中转义引号
- javascript(jquery)函数中的转义特殊字符
- 从预防默认函数转义
- 在传递给下一个函数之前转义 Javascript 调用
- 转义函数调用的变量
- JS:转义字符串末尾带有反斜杠的字符串,用于与jQuery函数一起使用
- 枚举窗口对象时不存在转义函数
- JavaScript Alert() 函数中的单引号转义
- 使用Javascript函数进行双引号转义
- 在 PHP 中使用邮件函数时正确转义 JavaScript 文档代码中的特殊字符
- 用于在javascript中转义引号的函数
- 如何在使用Jquery appentTo函数添加html标记时转义反斜杠
- 是否有js函数将xml特殊字符替换为转义序列
- 如何在JavaScript函数中传递带有转义符的字符串
- 反XSS转义函数的Javascript实现
- Java相当于JavaScript的反转义函数
- 在使用URL哈希的XSS攻击中重新定义转义函数
- 使用转义函数会抛出js错误,因为文本中存在特殊字符