2013-08-29 110 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: Ѓ