在命令行工具中解码Java字符串

时间:2013-08-23 10:47:59

标签: java utf-8 character-encoding

我编写了一个命令行工具,字符串[]的参数已经是UTF-8编码的。
示例: java -jar myTool.jar -x" Gesch \ u00E4ft"

此字符串现在表示为" Gesch \ u00E4ft"而且我不知道如何解码它。 URIDecode / URLDecode / CharsetDecoder没有工作。

String test = args[2];
URI uri = null;
try {
    uri = URI.create(test);

} catch (Exception e) {
    e.printStackTrace();
}

错误: 引起:java.net.URISyntaxException:索引5处路径中的非法字符:Gesch \ u00E4ft

1 个答案:

答案 0 :(得分:0)

\uxxxx不是网址格式,而是Java格式。您可以使用Properties.load来解码这些序列

    String s1 = "Gesch\\u00E4ft";
    Properties props= new Properties();
    props.load(new StringReader(s1));
    String s2 = (String)props.keySet().iterator().next();