总是char ch = 'A'
的值是否独立于平台?我知道从String
中获取字节是依赖于平台的,但我不确定如何 - 使用哪种编码(或者根本没有编码) - java将字符文字转换为数值。
答案 0 :(得分:6)
是:Java中的char
类型使用UTF-16编码(请参阅JLS 3.2),其中“A”具有数字(十进制)代码65.
答案 1 :(得分:3)
是。 Java specified使用Unicode,因此'A'是U+0041,值为65。
当您尝试将char或字符串(16位代码点的序列)转换为字节序列时,编码就会发挥作用 - 这可以通过多种不同的方式完成。其中许多将代表'A'作为值65的单个字节,但很多不代表。
答案 2 :(得分:1)
在java中,每个char字面都遵循Unicode标准。 Unicode标准的Java默认实现是UTF-16。它的最小值为'\ u0000'(或0),最大值为'\ uffff'(或65,535(含))。
因此A
始终具有数值65
(UTF-16中的U + 0041)。