2013-08-29 81 views
0

我试图将这个(0x80 + i)(其中i = 1,2,3,4 ...)转换为unicode符号。我知道在unicode(0x80 + 1)=Ѓ中,但我无法做正确的转换以在char变量中获得此符号。将int转换为unicode

我也尝试获得符号的int值,它似乎工作,但只有当我知道符号将是什么。我需要一些如何每次使用该方程式来获得符号的方法。

char registered = 'Ѓ'; 
System.out.println(String.format("This is an int-code: %d", (int) registered)); 
System.out.println(String.format("And this is an hexa code: %x", (int) registered)); 
+1

否,以Unicode U + 0081是一个控制字符。见http://www.unicode.org/charts/PDF/U0080.pdf –

+0

'“\ u0403”'是''''。 0x403 = 0x80 + 0x383。对于西里尔文来说,只要做'(char)0x403';将一个int投射到一个char。 –

+0

为什么不'System.out.format'? –

回答

0

请注意我的值是1027(十六进制0x403),而不是200(十六进制0x80)。

Java代码:

char registered = 'Ѓ'; 
int i = (int) registered; 
char registered2 = (char)i; 
System.out.println("registered: " + registered); 
System.out.println("i: " + i); 
System.out.println("registered2: " + registered2); 

结果是:

registered: Ѓ 
i: 1027 
registered2: Ѓ