1. 讀取內容到內存中,是否會亂碼和文件的編碼格式無關。只和內容的編碼格式有關。 若是寫入的內容編碼格式是gbk,讀取時卻使用utf-8進行解碼,則會出現亂碼。 文件的編碼格式是gbk也好,utf-8也好,都不會影響。 文件的編碼格式只會影響文本內容在文件中的顯示。若是文件的編碼格式和內容的編碼格式不一致,則打開文件時會出現亂碼。 2. 獲取字符串的字節流byte[] (字節流:是Unicode編碼的字符串,以指定編碼格式(如utf-8)編碼後,形式的byte數組) String.getBytes() // 做業內容:將內存中以Unicode編碼的字符串轉成某種固定的編碼格式(charset)的字節流。 // charset使用文件的默認編碼格式。若是當前文件的編碼格式是utf-8,就使用utf-8編碼格式。若是當前文件格式是gbk,就使用gbk編碼格式。 // 若是文件的默認編碼格式不被支持,則使用"ISO-8859-1"編碼格式進行編碼。 String.getBytes(charset) // 做業內容:將內存中以Unicode編碼的字符串轉成某種固定的編碼格式(charset)的字節流。
一個簡單圖解(不必定準確)數組