2013-08-29 6 views
0

이 (0x80 + i) i = 1, 2, 3, 4 ....을 유니 코드 기호로 변환하려고합니다. 나는 유니 코드 (0x80 + 1) = know로 알고 있지만 char 변수에서이 심볼을 얻기 위해 올바른 변환을 할 수는 없다.int를 유니 코드로 변환

또한 심볼의 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

아니 U + 0081은 제어 문자 유니. http://www.unicode.org/charts/PDF/U0080.pdf –

+0

' "\ u0403"'은'Ѓ'입니다. 0x403 = 0x80 + 0x383. 키릴 문자의 경우'(char) 0x403'을 사용하면 충분합니다. int를 char에 캐스트합니다. –

+0

왜'System.out.format' 아닌가요? –

답변

0

참고 i의 값은 200 (16 진수 0x80)이 아닌 1027 (16 진수 0x403)입니다.

자바 코드 :

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: Ѓ 
관련 문제