1. 程式人生 > >python join() 提示UnicodeDecodeError: 'utf8' codec can't decode byte 0xcb in position 0: unexpected end of的原因及解決辦法

python join() 提示UnicodeDecodeError: 'utf8' codec can't decode byte 0xcb in position 0: unexpected end of的原因及解決辦法

問題:

  在使用join()將列表元素連線成字串時出錯如下

    return split.join(result)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xcb in position 0: unexpected end of data

原因分析:

  將list型別的result打印出來發現,部分元素是unicode編碼,部分元素是utf8編碼,而StringIO物件可以接受Unicode或8位字串,但混合這兩者就會出錯

解決辦法:

  遍歷list將其中的每個元素轉成str型別再join即可。