gpt4 book ai didi

Java等价于JavaScript unescape函数

转载 作者:数据小太阳 更新时间:2023-10-29 05:47:06 26 4
gpt4 key购买 nike

Java编程语言中有没有等价于JavaScript unescape函数的函数?也就是说,如果我的输入是字符串“I%20need%20help%21”,则输出必须是“我需要帮助!”,例如。

谢谢!

最佳答案

根据我的经验,如果编码字符串中有非 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 + "')");

BTW 解决方案灵感来自 Siva R Vaka's post

关于Java等价于JavaScript unescape函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8273870/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com