Trong mã hóa nào là các phần tử của sys.argv
, bằng Python? chúng có được mã hóa bằng mã hóa sys.getdefaultencoding()
không?Python: Mã hóa nào được sử dụng để xử lý sys.argv?
sys.getdefaultencoding(): Trả về tên mã hóa chuỗi mặc định hiện tại được sử dụng bởi thực thi Unicode.
PS: Như đã chỉ ra ở một số các câu trả lời, sys.stdin.encoding
sẽ thực sự là một tốt hơn đoán. Tôi rất thích nhìn thấy một câu trả lời dứt khoát cho câu hỏi này, mặc dù, với con trỏ đến các nguồn vững chắc!
PPS: Như Wim đã chỉ ra, Python 3 giải quyết vấn đề này bằng cách đặt str
đối tượng trong sys.argv (nếu tôi hiểu chính xác). Câu hỏi vẫn còn mở cho Python 2.x, mặc dù. Dưới Unix, biến môi trường LC_CTYPE có vẻ là điều đúng để kiểm tra, không? Điều gì nên được thực hiện với Windows (để các phần tử sys.argv được giải thích một cách chính xác bất kỳ giao diện điều khiển nào)?
Được đánh dấu là đã được chấp nhận: nhận xét mới này về vấn đề 2128 là thông tin mới! Cảm ơn bạn! – EOL