在 Java 中是否保证 ASCII 值"normal"?



这样的程序:

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

在我使用的系统上运行良好,但它能保证在任何地方都正常运行吗?我想写一些像一样的代码

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

我不确定这是否适用于所有地方。这种东西具体在哪里?

是。

Java内部使用Unicode。每个字符的Unicode代码点由Unicode联盟指定。

对于所有具有ASCII编码的字符,Unicode代码点与ASCII值相同,在所有平台上都是一致的,将来不会更改。

最新更新