[英]Why does decoding base64 string on the form “b'…'” (with the b prefix from Python bytes object) gives unexpected results?
在使用帶有b'...'
的base64.b64decode
時,我遇到了一個奇怪的問題。 這是說明問題的代碼片段。
>>> base64.b64encode(b"AAAA")
b'QUFBQQ=='
>>> s1 = "b'QUFBQQ=='"
>>> s2 = "QUFBQQ=="
>>> base64.b64decode(s1)
b'm\x05\x05\x05\x04'
>>> base64.b64decode(s2)
b'AAAA'
base64.b64encode(b"AAAA")
的結果被復制並保存為字符串s1
。 我也只復制字節(即b'...'
中的字符)並將其保存為字符串s2
。 當用s1
調用base64.b64decode
時,我會胡說八道,而用s2
調用它會得到預期的結果。 我懷疑'
符號會導致一些問題,因為它不是有效的 base 64 符號。
base64.b64decode(s1)
中發生了什么會產生奇怪的結果?
當你設置
s1 = "b'QUFBQQ=='"
然后字符串包括 b 和兩個單抽動。 只需擺脫雙引號:
s1 = b'QUFBQQ=='
單引號外的 'b' 表示將其解釋為字節文字。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.