Dalam dokumentasi Java8, dikatakan bahawa String.getBytes() dikodkan mengikut set aksara lalai platform. Dalam kes Windows, set aksara lalai bukanlah utf-8, tetapi gbk. Linux bergantung pada konfigurasi (saya tidak tahu bagaimana sebenarnya).
Mengekodkan Rentetan ini ke dalam jujukan bait menggunakan set aksara lalai platform, menyimpan hasilnya ke dalam tatasusunan bait baharu.
Kelakuan kaedah ini apabila rentetan ini tidak boleh dikodkan dalam set aksara lalai tidak ditentukan Kelas CharsetEncoder harus digunakan apabila lebih banyak kawalan ke atas proses pengekodan diperlukan.
Mula-mula pastikan pengekodan disatukan, pengekodan fail adalah
UTF-8
, gunakanUTF-8
untuk membaca fail dangetBytes
juga dihantar keUTF-8
Juga, jangan gunakan Notepad! Jangan gunakan notepad! Jangan gunakan notepad! Sebut perkara penting tiga kali! ! !
Dalam dokumentasi Java8, dikatakan bahawa
String.getBytes()
dikodkan mengikut set aksara lalai platform. Dalam kes Windows, set aksara lalai bukanlah utf-8, tetapi gbk. Linux bergantung pada konfigurasi (saya tidak tahu bagaimana sebenarnya).Portal: String.getBytes()