unicode
unicode是全球文字统一编码,规定了所有的符号的二进制编码。
utf8
utf8是实现unicode的编码技术,用1-4个字节实现unicode,它们的值是不同的。
Java jvm中运行的是unicode,
我们编码的文件是utf8, 将文件编译成.class的时候是实现的转化。
应用别人博客的话
在Java(其中主要包括在JVM中、内存中、在代码里声明的每一个char、String类型的变量中。)中字符只以一种形式存在,那就是Unicode,不选择任何特定的编码,直接使用它们在字符集中的编号,这是统一的唯一的方法。
在JVM内部,统一使用Unicode表示,当着字符从JVM内部移动到外部时(即保存为文件系统中的一个文件内容时),就进行了编码转换,使用了具体的编码方案。因此也可以说,所有的编码转换只发生在边界的地方,也就是各种输入/输出流的起作用的地方。
参考博客:
Java中弄懂Unicode和UTF-8编码方式
浙公网安备 33010602011771号