当十进制表示存在时为什么需要java unicode?

时间:2014-12-16 07:03:16

标签: java unicode

package Test;

public class Test {

    public static void main(String[] args)  {
       char b=65;
       char B='\u0041';
      //aren't these same?
   }

}

3 个答案:

答案 0 :(得分:0)

这两个相同,只需运行以检查值equal

System.out.println(b==B);

输出为true

  

Unicode标准最初使用16位进行编码   因为主要机器是16位PC。

     

创建Java语言规范时,Unicode   标准被接受,char原语被定义为16位   数据类型,十六进制范围内的字符从0x0000到   为0xFFFF。

参考here

答案 1 :(得分:0)

Java并不需要具有unicode表示,但在某些上下文中使用unicode更为舒适。

答案 2 :(得分:0)

可能是因为Java编程语言的原生字符集是Unicode,而英语不是世界上唯一的语言。

  

使用Unicode字符集编写程序。   ©JLS §3.1

在编译的Java程序中char b = 65char b = '\u0041'将生成绝对等效的字节码。但是Unicode转义序列(\ uXXXX)可以在源代码中的任何地方使用,不仅可以在字符串或字符文字定义中使用,而不能在数字表示中使用。

简短的例子:

public class HelloWorld {

    public static void \u006D\u0061\u0069\u006E(String[] args) {
        System.out.println("Hello, world!");
    }

}

这是绝对正确的“hello world”程序,带有main(String [] args)方法。 进一步阅读:JLS §3.2