簡體   English   中英

Python UnicodeDecodeError:“ utf-8”編解碼器無法解碼位置2的字節0x8c:無效的起始字節

[英]Python UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8c in position 2: invalid start byte

有人知道如何在Python 3.6.0版上解碼我的Hex值嗎?

我正在使用x.decode(“ hex”),但是由於python更新,它不再起作用了。

這是我的十六進制值:

 01008C647620302E31302E372070762039393130333120736E20333137337C6661336232653863206D7A20313778313720736B6620343235357C34376330643162302073706620333237397C363236373361376520627066203332363137307C61653138366364642073746620323538397C623634383035633220616D66203335333230357C633736333133626200 

在Python 3.6中,無需解碼字符串(類型為str ),因為它們已經是utf-8了。 此外,正常decode功能僅允許“標准”字符串解碼。 也就是說,此功能無法解碼十六進制。

相反,此“特殊”解碼功能已移至codecs.decode 因此,您希望將代碼重寫為:

import codecs
x = "01008C647620302E31302E372070762039393130333120736E20333137337C6661336232653863206D7A20313778313720736B6620343235357C34376330643162302073706620333237397C363236373361376520627066203332363137307C61653138366364642073746620323538397C623634383035633220616D66203335333230357C633736333133626200"
codecs.decode(x, 'hex')

暫無
暫無

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

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