如图,java中同样是utf-8存储的字符串,为什么这两种方式输出的字节会不同?
PHP中文网
PHP中文网 2017-04-18 10:48:35
0
2
554

PHP中文网
PHP中文网

认证高级PHP讲师

membalas semua(2)
大家讲道理

Mula-mula pastikan pengekodan disatukan, pengekodan fail adalah UTF-8, gunakan UTF-8 untuk membaca fail dan getBytes juga dihantar ke UTF-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).

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.

Portal: String.getBytes()

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan