![](/img/trans.png)
[英]UnicodeDecodeError: 'utf-8' codec can't decode byte 0x96 in position 35: invalid start byte
[英]UnicodeDecodeError: 'utf8' codec can't decode byte 0x92 in position 377826: invalid start byte
if uID in repo.git.log():
的 uID 恰好在該行執行以下代碼片段時出現以下錯誤,問題出在repo.git.log()
中,我已經查看了 Stack 上的所有類似問題建議使用decode("utf-8")
溢出。
如何將repo.git.log()
轉換為decode("utf-8")
?
UnicodeDecodeError: 'utf8' codec can't decode byte 0x92 in position 377826: invalid start byte
相關代碼:
..................
uID = gerritInfo['id'].decode("utf-8")
if uID in repo.git.log():
inwslist.append(gerritpatch)
.....................
Traceback (most recent call last):
File "/prj/host_script/script.py", line 1417, in <module>
result=main()
File "/prj/host_script/script.py", line 1028, in main
if uID in repo.git.log():
File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 431, in <lambda>
return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 802, in _call_process
return self.execute(make_call(), **_kwargs)
File "/usr/local/lib/python2.7/dist-packages/git/cmd.py", line 610, in execute
stdout_value = stdout_value.decode(defenc)
File "/usr/lib/python2.7/encodings/utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x92 in position 377826: invalid start byte
0x92是Windows-1252的智能引號(')。 它根本不存在於unicode中,因此無法解碼。
也許您的文件是由Windows計算機編輯的,這基本上導致了此問題?
使用encoding='cp1252'
將解決此問題。
編碼 UTF-8 中不存在 0x92。 正如 Exceen 在他的回答中所說,0x92 在 Windows-1252 中用作智能引用。 解決此問題的方法是使用 windows 1252 編碼或將智能報價更新為正常報價。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.