Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Membetulkan Python 'UnicodeDecodeError: codec 'charmap' tidak boleh menyahkod bait...'?

Bagaimana untuk Membetulkan Python 'UnicodeDecodeError: codec 'charmap' tidak boleh menyahkod bait...'?

Linda Hamilton
Linda Hamiltonasal
2024-12-14 20:47:13325semak imbas

How to Fix Python's

Ralat Penyahkodan: Aksara Dipetakan kepada Tidak Ditakrifkan

Semasa cuba membaca fail teks, program Python 3 menemui ralat:

UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 2907500: character maps to `<undefined>`

Penjelasan:

Ralat ini menandakan codec 'charmap' tidak boleh menyahkod bait tertentu dalam fail teks. Codec 'charmap' digunakan untuk pengekodan aksara yang memetakan bait kepada aksara secara langsung.

Penyelesaian:

Untuk menyelesaikan ralat ini, adalah perlu untuk mengenal pasti pengekodan yang betul daripada fail teks dan nyatakannya apabila membuka fail. Oleh kerana bait 0x90 tidak mempunyai pemetaan yang sah dalam pengekodan CP1252, fail mungkin menggunakan pengekodan yang berbeza, seperti UTF-8 atau Latin-1.

Untuk membuka fail menggunakan pengekodan yang betul, tambahkan hujah pengekodan:

file = open(filename, encoding="utf-8")

Untuk Latin-1 pengekodan:

file = open(filename, encoding="latin-1")

Nota:

Rujuk dokumentasi tentang "Cara menentukan pengekodan teks" untuk memastikan pengekodan yang betul bagi fail teks.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Python 'UnicodeDecodeError: codec 'charmap' tidak boleh menyahkod bait...'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn