java的默认编码是unicode,全部编译后的class文件都是以unicode格式保存的。
编译时,若是没指定编码格式,javac.exe使用操做系统默认的编码格式。jdk将默认编码转为unicode格式存储在内存中,而后,把转换后的unicode格式的文件编译成.class类文件,此时.class文件是unicode编码的,它暂放在内存中,紧接着,jdk将此以unicode编码的编译后的class文件保存到咱们的操做系统中,造成咱们见到的.class文件。
对咱们来讲,咱们最终得到的.class文件是内容以unicode编码格式保存的类文件,它内部包含咱们源程序中的中文字符串,只不过此时它己经由默认格式转化为unicode格式了。
eclipse中,文件编码 >工程编码 > 全局设置的编码, 编码影响2个地方:
一、文件自身存储的编码格式。
二、io读写文件的默认编码。
java
如,eclipse工程编码utf8,**.java文件、**.js文件就是以utf8格式存储的,直接拷贝到gbk工程下就会乱码。可是编译后的class文件是unicode编码。web