簡體   English   中英

UnicodeDecodeError:“utf8”編解碼器無法解碼 position 中的字節 0x92 377826:無效的起始字節

[英]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'將解決此問題。

經過很好的研究,我得到了解決方案。 就我而言, datadump.json<\/code><\/strong>文件有問題。

  • 只需以記事本格式打開文件<\/li>
  • 點擊另存為選項<\/li>
  • 轉到下面的編碼部分並單擊“UTF-8”<\/li>
  • 保存文件。<\/li><\/ul>

    現在您可以嘗試運行該命令。 你已准備好出發 :)

    供您參考,我在下面附上了圖片。

    步驟1<\/a>

    第2步<\/a>

    第三步<\/a>

編碼 UTF-8 中不存在 0x92。 正如 Exceen 在他的回答中所說,0x92 在 Windows-1252 中用作智能引用。 解決此問題的方法是使用 windows 1252 編碼或將智能報價更新為正常報價。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM