【问题标题】:How to print unicode string as it is in Java?如何像在 Java 中一样打印 unicode 字符串?
【发布时间】:2013-04-16 10:38:34
【问题描述】:

我想为 Android 开发调试 emoji 图标问题。我的应用程序从远程服务器读取短信。

String test = String.format("%s",unicodeStr);
Log.i("xxx",test);

我希望它会打印出类似“\u23434”的内容,但它会打印出“”。

所以我的问题是,我怎样才能按原样打印出 unicode 字符串?

非常感谢。

【问题讨论】:

  • 在字符串中添加另一个反斜杠,例如 "\"+unicodeStr
  • @Squonk Java 字符串是 UTF-16 编码的。
  • @zhaocong 你需要更清楚你的要求。什么输入会产生这个结果?为什么你会期待这样的结果? "\u23434" 完全不同。应该打印什么而不是"a"
  • 基本上,Java 已经默认“按原样”打印任何字符串。您需要更明确地提出您的问题。
  • 参见library-for-converting-native2ascii-and-vice-versa,apache commons StringEscapeUtils.escapeJava。

标签: java android unicode


【解决方案1】:
String s = "\\u23434";
System.out.println(s);

它按原样打印 unicode 字符串。

【讨论】:

    【解决方案2】:

    我现在找到另一个解决方案来解决问题

    for (char curr : str.toCharArray()){
       //print out the character or do whatever you wanna have
       int code = curr;
       Log.i("tag",String.format("%x",code));
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-06
      • 1970-01-01
      • 2012-06-11
      • 2013-11-23
      • 1970-01-01
      • 2014-12-18
      • 2018-09-02
      相关资源
      最近更新 更多