2012-03-29 51 views
1

的程序是這樣的:在Java中保證「正常」的ASCII值嗎?

class AsciiTest { 
    public static void main(String[] args) { 
     assert 'a' == 97; 
     assert 'b' == 98; 
     // etc 
    } 
} 

運行我使用的,但它保證OK無處不在系統上運行罰款?我想寫的代碼,如

if (c >= 'a' && c <= 'z') { // c is a lowercase roman letter 

我不確定這是否無處不在。這種東西在哪裏指定?

+0

是的,它會工作,因爲JAVA在所有平臺上使用Unicode。 – dexametason 2012-03-29 09:21:57

+0

參考:[JLS 3.10.4](http://docs.oracle.com/javase/specs/jls/se7/html/jls-3.html#jls-3.10.4) – assylias 2012-03-29 09:25:06

回答

4

是的。

Java在內部使用Unicode。每個字符的Unicode代碼點由Unicode Consortium指定。

對於所有具有ASCII編碼的字符,Unicode code point與ASCII值相同,它在所有平臺上都一致,並且在將來不會更改。