如何处理/理解Java中字符串中的一些奇怪的符号,如%2B,%5E20?

时间:2012-04-18 03:05:19

标签: java escaping

我调试了现有项目并获得了一个字符串变量:

"q=%2B%28%28%28keywords_en%3A%28pp%3F+OR+pp%29%29%29%29+%28+name%3A%28pp%3F%29%5E20+number%3A%28pp%3F%29%5E20+creator%3A%28OR%5C%3Art.org.WuoUser%5C%3A11%29%5E2+modifier%3A%28OR%5C%3Art.org.WuoUser%5C%3A11%29%5E2+%29+_val_%3A%22recip%28rord%28modifyTimestamp%29%2C1%2C1000%2C1000%29%22%5E2";

我有点困惑这些“%2B,%28,%3A,%5E,%5E20”代表什么? 如果他们是一些逃脱角色,我怎么能得到相应的人类可读字母? 如果有人能提供一些帮助,我们将非常感激。 提前谢谢。

1 个答案:

答案 0 :(得分:4)

您可以使用以下方式对其进行解码:

String decodedString = URLDecoder.decode(encodedString, "UTF-8");

(或者,如果不是UTF-8,则适合任何字符编码)。