2013-03-04 61 views
-2

當我運行下面的代碼時,對於任何數字,它都會給出ASCII值。我的問題是,ASCII值是0-255,但它如何返回255以上的ASCII值?JAVA中的ASCII值

int i=345; 
System.out.println((char)i); 

輸出:

ř 

請指定如何對上述所得的(即ř)插入它的appropirate數轉換(即345)。

+2

'字符是16位Unicode,而不是ASCII - 請參閱http://docs.oracle.com/javase/tutorial/java/nutsan dbolts/datatypes.html – iamnotmaynard 2013-03-04 16:59:11

+1

http://docs.oracle.com/javase/tutorial/i18n/text/unicode.html – SLaks 2013-03-04 17:00:46

+0

Thak you。你的意思是任何整數值,它會給uni代碼char na ?.但是當我試圖創建一個unicode文件來保存這些字符通過使用java,一些字符在保存的文件丟失.. – user2132570 2013-03-11 14:46:51

回答

5

Java不使用ASCII。

ř統一代碼點345

+0

亞,但一些unicode值不保存,當我用java創建Unicode文件 – user2132570 2013-03-11 14:38:45

+0

您需要了解Unicode如何工作。 http://www.joelonsoftware.com/articles/Unicode.html http://kunststube.net/encoding/ – SLaks 2013-03-11 14:39:46

+0

有一點疑問。它會給0到255的unicode值嗎?或爲> 255? – user2132570 2013-03-11 14:52:41

1

在回答你問題的第二部分,施放charint

System.out.println("The code for 'ř' is " + (int)'ř'); 

The code for 'ř' is 345