簡體   English   中英

如何在Python 3中使用字符串類型對變量進行base64編碼/解碼?

[英]How to base64 encode/decode a variable with string type in Python 3?

它給出了一個錯誤,即編碼的行必須是字節而不是str / dict

我知道在文本解決之前添加“b”並打印編碼的東西。

import base64
s = base64.b64encode(b'12345')
print(s)
>>b'MTIzNDU='

但是我如何編碼變量呢?

import base64
s = "12345"
s2 = base64.b64encode(s)
print(s2)

添加和不添加b會給我一個錯誤。 我不明白

我也試圖用base64編碼/解碼字典。

您需要對unicode字符串進行編碼。 如果它只是普通字符,則可以使用ASCII。 如果它可能包含其他字符,或者只是為了一般安全,那么您可能需要utf-8

>>> import base64
>>> s = "12345"
>>> s2 = base64.b64encode(s)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File ". . . /lib/python3.3/base64.py", line 58, in b64encode
    raise TypeError("expected bytes, not %s" % s.__class__.__name__)
TypeError: expected bytes, not str
>>> s2 = base64.b64encode(s.encode('ascii'))
>>> print(s2)
b'MTIzNDU='
>>> 

暫無
暫無

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

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