Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Kod Python Saya Membuang UnicodeEncodeError Apabila Mengekod Teks Halaman Web?

Mengapa Kod Python Saya Membuang UnicodeEncodeError Apabila Mengekod Teks Halaman Web?

Linda Hamilton
Linda Hamiltonasal
2024-12-22 04:35:14874semak imbas

Why Does My Python Code Throw a UnicodeEncodeError When Encoding Web Page Text?

UnicodeEncodeError: 'ascii' Perjuangan Codec dengan Aksara Bukan ASCII

Apabila mengambil teks daripada pelbagai halaman web, anda mungkin menghadapi " UnicodeEncodeError" yang menunjukkan bahawa codec 'ascii' tidak boleh mengekod aksara tertentu. Ketidakkonsistenan ini, apabila kod berfungsi tanpa isu untuk sesetengah halaman tetapi gagal dengan halaman lain, selalunya berpunca daripada kehadiran aksara bukan ASCII.

Dalam coretan kod yang disediakan, isu timbul apabila cuba menukar rentetan Unicode (kemungkinan mengandungi aksara ' ') kepada rentetan bait yang dikodkan 'ascii'. Walau bagaimanapun, 'ascii' tidak boleh mewakili aksara ini, membawa kepada ralat "ordinal not in range(128)".

Menghapuskan Keanehan Pengekodan

Untuk menyelesaikan kekusutan ini , tinggalkan amalan menggunakan str() untuk menukar rentetan Unicode kepada teks yang dikodkan. Sebaliknya, terima kuasa .encode() yang secara eksplisit mengekod rentetan menggunakan pengekodan yang diingini, seperti UTF-8.

Contoh Penyelesaian Pengekodan:

p.agent_info = u' '.join((agent_contact, agent_telno)).encode('utf-8').strip()

Sebagai alternatif, anda boleh menerima dunia Unicode sepenuhnya, bekerja secara eksklusif dengan rentetan Unicode dan mengelakkan keperluan untuk operasi pengekodan dan penyahkodan.

Atas ialah kandungan terperinci Mengapa Kod Python Saya Membuang UnicodeEncodeError Apabila Mengekod Teks Halaman Web?. 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