代码之家  ›  专栏  ›  技术社区  ›  JesperE

将u1F000表示为Java字符串

  •  0
  • JesperE  · 技术社区  · 17 年前

    我有一大堆 unicode characters

    String mahjongTile = "\u0001\uf000";
    

    似乎

    2 回复  |  直到 17 年前
        1
  •  3
  •   Alan Moore Chris Ballance    17 年前

    appendCodePoint 方法在StringBuilder或StringBuffer中。

    StringBuilder sb = new StringBuilder();
    sb.appendCodePoint(0x1f000);
    

    这两种技术都可以为您转换为代理项对。

    听起来您现在的问题是如何正确显示字符。如果您试图在控制台上显示它们,请忘记它;大多数机器上的控制台都太有限了。我建议您将输出写入一个文件并使用一个好的文本编辑器来读取它,或者在Swing组件(如JTextPane)中显示输出。

        2
  •  1
  •   Jon Skeet    17 年前

    如果需要字符串文本形式的代理项对,则需要计算出相应的代理项对。(在C#中,您可以写“\U0001f000”-\u用于BMP,而\u用于完全Unicode。)

    在Java中,您可以执行以下操作:

    String foo = new String(new int[]{0x1f000}, 0, 1);