Menetapkan Pengekodan untuk Output Paip dalam Python
Apabila paip stdout, jurubahasa Python menghadapi masalah dengan pengekodan, yang membawa kepada UnicodeEncodeError. Ini berlaku apabila atur cara cuba mencetak aksara Unikod tanpa menyatakan pengekodan yang betul.
Amalan Terbaik: Mengekodkan Output Semasa Paip
Penyelesaian adalah dengan mengekod output secara manual sebelum perpaipan. Peraturan praktikal adalah untuk sentiasa bekerja dengan Unicode secara dalaman, input penyahkodan dan output pengekodan. Contohnya:
print(u"åäö".encode('utf-8'))
Menyahkod, Memanipulasi dan Mengekod dalam Urutan Paip
Contoh praktikal ialah atur cara Python yang menukar antara ISO-8859-1 dan UTF-8, huruf besar dalam teks:
import sys for line in sys.stdin: # Decode received input line = line.decode('iso8859-1') # Manipulate Unicode internally line = line.upper() # Encode output line = line.encode('utf-8') sys.stdout.write(line)
Elakkan Tetapan Pengekodan Lalai
Mengubah suai site.py atau pengekodan keras pengekodan lalai tidak disyorkan. Ini boleh membahayakan modul lain yang bergantung pada lalai ASCII. Adalah penting untuk mengekod output secara eksplisit semasa paip untuk memastikan hasil yang diingini.
Atas ialah kandungan terperinci Bagaimana Mengendalikan UnicodeEncodeError Semasa Memaip Output dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!