在Java中获取Unicode值的字符表示

时间:2013-01-24 08:57:21

标签: java xml unicode unicode-escapes

我想在Java中使用Unicode值的字符表示。 可以这样做吗?

XML中不支持某些字符(例如,unicode值为\ u001b的字符)。所以我通过将Unicode值'\ u001b'放在XML中来逃避它们,并且在解组之后,我希望显示\ u001b的字符表示。 这可以用Java完成吗?

欢迎提出建议。

2 个答案:

答案 0 :(得分:1)

试试这个

    String s = "\\u0031";
    char c = (char)Integer.parseInt(s.substring(2), 16);
    System.out.print(c);

输出

1

虽然我建议使用像这样的XML数字字符引用http://en.wikipedia.org/wiki/Numeric_character_reference,然后它会被XML解析器自动解码

答案 1 :(得分:-1)

 String fileName = "outputFile.txt";
 String str = "String with unicode" ;

try {
    FileOutputStream fos = new FileOutputStream(fileName);
    Writer out = new OutputStreamWriter(fos, "UTF8");
    out.write(str);
    out.close();
} catch (IOException e) {
    e.printStackTrace(System.err);
}

这应该