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