Rumah  >  Soal Jawab  >  teks badan

如图,java中同样是utf-8存储的字符串,为什么这两种方式输出的字节会不同?

PHP中文网PHP中文网2741 hari yang lalu525

membalas semua(2)saya akan balas

  • 大家讲道理

    大家讲道理2017-04-18 10:50:35

    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! ! !

    balas
    0
  • 迷茫

    迷茫2017-04-18 10:50:35

    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()

    balas
    0
  • Batalbalas