java 编码问题

Java默认使用Unioncode编码,即不论什么语言都是一个字符占两个字节
Java的class文件编码为UTF-8,而虚拟机JVM编码为UTF-16
UTF-8编码下,一个中文占3个字节,一个英文占1个字节
Java中的char默认采用Unicode编码,所以Java中char占2个字节
1(byte)字节=8(bit)位
 
 
Unicode编码定义了这个世界上几乎所有字符(就是你眼睛看到的长那个样子的符号)的数字表示
也就是说Unicode为每个字符发了一张身份证,这张身份证上有一串唯一的数字ID确定了这个字符
在这个纷乱世界上存在的唯一性。Unicode给这串数字ID起了个名字叫[码点](Code Point)
而很多人说的编码其实是想表达[Unicode转换格式](即UTF,Unicode Transformation Formats)
有没有觉得眼前一亮豁然开朗?没错 这就是我们看到的UTF-8/UTF-16/UTF-32的前缀来源
原文地址:https://www.cnblogs.com/tjlgdx/p/6262184.html