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

时间:2022-04-17 16:04:39

问题:

  在使用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即可。