我编写了一个命令行工具,字符串[]的参数已经是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
答案 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();