1. 程式人生 > >python 讀取utf-16時缺少位元組的處理

python 讀取utf-16時缺少位元組的處理

utf16' codec can't decode byte 0x0a in position truncated data 這個錯誤是什麼意思,是什麼原因造成的 這個python錯誤的意思是,decode("utf-16") 這個操作,碰到了一個單個位元組的回車(0x0A),utf-16中每個字元應該是2個位元組,如果是UTF-16大端,就是 00 0A,如果是UTF-16 小端(也叫UCS-2小端)的編碼就是0A 00。 這個錯誤就是在UTF-16 小端的情況下,少了後半個字元
即圖中紅色字元所指的位置,有個0A,它後面缺少了00,解決方法是在decode時,用 decode("utf-16","ignore") 即加上ignore這個選項,把這個錯誤忽略掉。