tôi đang cố gắng để giải mã một chuỗi tôi mất từ file:python: unicode vấn đề
file = open ("./Downloads/lamp-post.csv", 'r')
data = file.readlines()
data[0]
'\ xff \ xfeK \ x00e \ x00y \ x00w \ x00o \ x00r \ x00d \ x00 \ t \ x00C \ x00o \ x00m \ x00i \ x00n \ x00i \ x00o \ x00n \ x00 \ x \ x00g \ x00l \ x00o \ x00b \ x00a \ x00l \ x00 \ x00M \ x00o \ x00n \ x00t \ x00gi \ x00l \ x00y \ x00 \ x00S \ x00c \ x00a \ x00r \ x00c \ x00h \ x00e \ x00 \ s \ x00c \ x00 \ x002 \ x000 \ x001 \ x000 \ x00 \ t \ x00N \ x00o \ x00v \ x00 \ x002 \ x000 \ x00O \ x00c \ x00t \ x00 \ x002 \ x000 \ x001 \ x000 \ x00 \ t \ x00S \ x00e \ x00p \ x00 \ x002 \ x00 \ x \ x00A \ x00u \ x00g \ x00 \ x002 \ x000 \ x001 \ x000 \ x00 \ t \ x00J \ x00u \ x00l \ x00 \ x002 \ x000 \ x001 \ x000 \ x00 \ t \ x00J \ x00u \ x00n \ x00 \ x002 \ x000 \ x001 \ x000 \ x00 \ t \ x00M \ x00a \ x00y \ x00 \ x002 \ x000 \ x001 \ x000 \ x00 \ t \ x00A \ x00p \ x00r \ x00 \ x002 \ x000 \ x00M \ x00a \ x00r \ x00 \ x002 \ x000 \ x001 \ x000 \ x00 \ t \ x00F \ x00e \ x00b \ x00 \ x002 \ x000 \ x001 \ x000 \ x00 \ t \ x00J \ x00a \ x00n \ x00 \ x002 \ x000 \ x001 \ x000 \ x00 \ t \ x00A \ x00d \ x00 \ x00s \ x00h \ x00a \ x00r \ x00e \ x00 \ t \ x00S \ x00c \ x00a \ x00r \ x00c \ x00h \ x00 \ x00s \ x00h \ x00a \ x00r \ x00e \ x00 \ t \ x00E \ x00s \ x00t \ x00i \ x00m \ x00a \ x00t \ x00e \ x00d \ x00 \ x00A \ x00v \ x00g \ x00. \ x00 \ x00C \ x00P \ x00C \ x00 \ t \ x 00E \ x00x \ x00t \ x00t \ x00a \ x00c \ x00t \ x00e \ x00d \ x00 \ x00F \ x00r \ x00o \ x00m \ x00 \ x00W \ x00e \ x00b \ x00 \ x00P \ x00a \ x00g \ x00e \ x00 \ t \ x00L \ x00o \ x00c \ x00a \ x00l \ x00 \ x00M \ x00o \ x00n \ x00t \ x00h \ x00l \ x00y \ x00 \ x00S \ x00e \ x00a \ x00r \ x00c \ x00h \ x00e \ x00s \ x00 \ n '
Thêm phớt lờ không thực sự giúp ...:
Trong [69]: Số liệu [2] Out [69]: u' \ u6700 \ u6100 \ u7200 \ u6400 \ u6500 \ u6e00 \ u2000 \ u6c00 \ u6100 \ u6d00 \ u7000 \ u2000 \ u7000 \ u6f00 \ u7300 \ u7400 \ u0900 \ u3000 \ u2e00 \ u3900 \ u3400 \ u0900 \ u3800 \ u3800 \ u3000 \ u0900 \ u2d00 \ u0900 \ u3300 \ u3900 \ u3000 \ u0900 \ u3300 \ u3900 \ u3000 \ u0900 \ u3300 \ u3900 \ u3000 \ u0900 \ u3400 \ u3800 \ u3000 \ u0900 \ u3500 \ u3900 \ u3000 \ u0900 \ u3500 \ u3900 \ u3000 \ u0900 \ u3700 \ u3200 \ u3000 \ u0900 \ u3300 \ u3200 \ u3000 \ u0900 \ u3300 \ u3200 \ u3000 \ u0900 \ u3200 \ u3600 \ u3000 \ u0900 \ u2d00 \ u0900 \ u2d00 \ u0900 \ ua300 \ u3200 \ u2e00 \ u3100 \ u3800 \ u0900 \ u2d00 \ u0900 \ u3400 \ u3800 \ u3000 \ u0a00 '
Trong [70]: data [2] .decode ("utf-8", "thay thế") -------------------------------------------- ------------------------------- Traceback (cuộc gọi gần đây nhất)
/Người dùng/oleg/in ()
/opt/local/lib/python2.5/encodings/utf_8.py trong giải mã (đầu vào, lỗi) 15 giải mã def (đầu vào, lỗi = 'nghiêm ngặt'): ---> 16 codec trả về .utf_8_decode (đầu vào, lỗi, Đúng) 18 lớp IncrementalEncoder (codec.IncrementalEncoder):
: 'ascii' codec không thể mã hóa ký tự ở vị trí 0-87: thứ tự không trong phạm vi (128)
Trong [71]:
Câu trả lời của tôi hoạt động mà không có lỗi. Nhưng nó phụ thuộc vào thời tiết bạn muốn bỏ qua hoặc thay thế các ký tự không thể giải thích được. – orlp