utf_8编码器不编码unicode_转义

zrfyljdw  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(381)

由于我们的系统现在已经切换到utf-8,我必须用相应的utf-8字符替换所有现有的unicode\u转义。不幸的是,我的代码不工作,我不知道为什么
我给这个方法输入一个字符串。
ui.activityfeed.currentactivities=aktuelle aktivit\u00e4ten
并期待这一回报的到来:
ui.activityfeed.currentactivities=aktuelle-aktivitä十

private static String replaceUmlaute(String line) {
    System.out.println(line);
    final ByteBuffer buffer = StandardCharsets.UTF_8.encode(line);
    final String utf8EncodedString = StandardCharsets.UTF_8.decode(buffer).toString();
    System.out.println(utf8EncodedString);
    return utf8EncodedString;
  }

结果:
ui.activityfeed.currentactivities=aktuelle aktivit\u00e4ten
ui.activityfeed.currentactivities=aktuelle aktivit\u00e4ten
我已经试过替换方法了,但是也没用谢谢你的帮助

hujrc8aj

hujrc8aj1#

这就是我的解决方案:

private static String replaceUmlaute(String line) throws IOException {
    final Properties p = new Properties();
    p.load(new StringReader("key=" + line));
    return p.getProperty("key");
  }

相关问题