Tôi có khoảng 1000 tên tệp được đọc bởi os.listdir() một số mã được mã hóa 'utf-8' và một số là 'cp1252'.Python phát hiện mã hóa byte chuỗi
Tôi muốn giải mã tất cả chúng thành unicode để xử lý thêm trong tập lệnh của tôi. Có cách nào để có được mã hóa nguồn để giải mã chính xác vào unicode?
Ví dụ:
for item in os.listdir(rootPath):
#Convert to Unicode
if isinstance(item, str):
item = item.decode('cp1252') # or item = item.decode('utf-8')
print item
Tránh sử dụng dấu trống 'ngoại trừ:'. Nó bắt tất cả mọi thứ, ngay cả trường hợp ngoại lệ dựa trên hệ thống. Trong trường hợp này, ngoại trừ ngoại lệ: 'hoặc' ngoại trừ UnicodeError: 'có thể có ý nghĩa nhất. – twasbrillig
Điểm tốt trên ô trống ngoại trừ, nhưng tôi tin rằng ngoại lệ đúng là 'UnicodeDecodeError' – guival