为什么执行Java代码unicode不显示

时间:2016-02-15 17:40:33

标签: java

我尝试将手语Unicode字符打印到Jframe标签。它无法支持。我可以在VB .Net中做。我正在使用标志编写2010 unicode字体(https://github.com/Slevinski/signwriting_2010_fonts )。示例unicode是\ u1D832

import java.awt.*;
import javax.swing.*;

public class TestUnicode extends JFrame {
  String RUPEE = "\u1D832";

  public TestUnicode() {
   setLayout(new FlowLayout());
   JLabel b = new JLabel("" + RUPEE);
   b.setFont(new Font("SignWriting 2010", Font.PLAIN, 250));
   add(b);
  }
public static void main(String args[])
{
    TestUnicode t= new TestUnicode();
        t.setVisible(true);
    t.setSize(300,300);
}
}

1 个答案:

答案 0 :(得分:1)

\u1D832表示\u1D83 +'2'。记住Java内部使用UTF-16。

如果要保留1D832代码点值,可以按如下方式编写。

String RUPEE = new String(Character.toChars(0x1D832));

或者你可以把它写成:

String RUPEE = "\uD836\uDC32"; // 1D832