在使用python解释MTK的log时候,提示“codec can't decode byte 0xff in position 5145: illegal multibyte sequence”
主要是因为MTK输出的log中,有部分字符采用1-2个字节,导致使用utf-8或者gbk编码方式都无法解释。只需要将编码方式改成encoding="ISO-8859-1"即可
Traceback (most recent call last):
File "extract-power-consumption-comparison-data--mtk.py", line 341, in <module>
parse_process(input_file,fileToColumn)
File "extract-power-consumption-comparison-data--mtk.py", line 46, in parse_process
for line in input_file:
UnicodeDecodeError: 'gbk' codec can't decode byte 0xff in position 5145: illegal multibyte sequence
或者
Traceback (most recent call last):
File "extract-power-consumption-comparison-data--mtk.py", line 341, in <module>
parse_process(input_file,fileToColumn)
File "extract-power-consumption-comparison-data--mtk.py", line 46, in parse_process
for line in input_file:
File "/usr/lib/python3.5/codecs.py", line 321, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 5145: invalid start byte
解决方法:
input_file = open(inputfile[nameIndex], 'r',encoding="ISO-8859-1")