Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar pengekodan fail XML dalam Python

Bagaimana untuk menukar pengekodan fail XML dalam Python

王林
王林ke hadapan
2023-05-21 12:22:062189semak imbas

1. Isu pengekodan fail XML dalam Python

1 Pustaka xml.etree.ElementTree yang digunakan oleh Python hanya menyokong penghuraian dan penjanaan pengekodan format UTF-8 standard

2. fail XML yang dikodkan seperti GBK atau GB2312 digunakan untuk memastikan keupayaan XML merakam aksara Cina dalam sistem lama

3. Terdapat pengepala pada permulaan fail XML dan pengepala menentukan pemprosesan program Pengekodan yang harus digunakan untuk XML

Bagaimana untuk menukar pengekodan fail XML dalam Python

4 Untuk mengubah suai pengekodan, bukan sahaja pengekodan keseluruhan fail mesti diubah suai, tetapi juga nilainya bahagian pengekodan dalam pengepala logo mesti diubah suai

2 Idea untuk memproses fail XML Python

1. mod binari untuk membaca fail XML dan menukar fail menjadi aliran binari

  • Gunakan kaedah

    untuk menghuraikan strim binari menjadi rentetan menggunakan format pengekodan fail asal
  • .encode() 2. Proseskan pengepala: gunakan kaedah

    , gantikan bahagian
  • dalam rentetan

3. Pengekodan & simpan: Simpan rentetan menggunakan format pengekodan baharu .replace()encoding="xxx"3. Ditemui dalam proses sebenar Masalah

GB2312 >

  • GBK
  • GBK -->

    • UTF8 --> ; GBK: .encode() akan melaporkan ralat Anda mesti menambah parameter error="ignore" untuk mengabaikan aksara yang tidak boleh ditukar

    • Prinsip di sini ialah: Pengekodan GBK serasi dengan pengekodan UTF-8 Oleh itu, kandungan yang tidak boleh ditukar boleh dipaparkan terus menggunakan GBK
    • . GBK GB2312: Tiada masalah

    4 . Memandangkan pengepala logo perlu diganti terus di sini, nama pengekodan mesti sepadan sepenuhnya, jika tidak, penggantian akan gagal
  • Contohnya: GBK tidak boleh ditulis sebagai gbk, utf-8 tidak boleh ditulis sebagai UTF8. Kod ini hanya diuji berdasarkan GBK, GB2312, UTF-8 di atas & format pengekodan lain yang biasa digunakan tidak dijamin berjaya

Atas ialah kandungan terperinci Bagaimana untuk menukar pengekodan fail XML dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam