在我的应用程序的UI中,我使用的是Unicode字符串,范围从" \ u0900"到" \ u0959"这是unodeode相当于一些梵文字符。 我试图动态生成这些Unicode字符串以设置UI的按钮。 代码:
for(int i=900; i<=959 ; i++){
String buttontext = "\\"+"u"+Integer.toString(i);
this.add(new CreateButton(buttontext)); //CreateButton extends JButton.
}
它失败的可怕,字符串显示为\ u900而不是梵文字符themsleves。 如何解决这个问题?
答案 0 :(得分:0)
您无法像这样创建一个unicode转义序列("\u...."
只能被编译器识别)。而是循环遍历字符值并使用String#valueOf
创建字符串:
for (char i = 0x900; i <= 0x959; i++) {
String buttontext = String.valueOf(i);
// ...
}
请注意,我在数字前加0x
,这意味着这些数字是十六进制。我这样做是因为unicode转义序列由4 hexadecimal digits组成:
UnicodeEscape:
\ UnicodeMarker HexDigit HexDigit HexDigit HexDigit