все Python 3до 3.9Удалено из стандартной библиотекифункция
base64.decodestring()
удалено
Старое имя base64.decodebytes(): раскодирует Base64 в стиле MIME в байты. Удалено в Python 3.9 — используйте decodebytes().
Синтаксис
base64.decodestring(data) # до 3.9
Пара к encodestring(): принимает Base64, разбитый на строки, и возвращает исходные байты. С Python 3.1 у неё точное имя decodebytes(), старое в 3.9 убрали. Как переписать: base64.decodestring(data) → base64.decodebytes(data). Для Base64 без переводов строк подходит и base64.b64decode(data). Обе функции ждут bytes; текст из str сначала переведите в bytes через .encode('ascii').
Примеры
# Python 3.9+
import base64
try:
base64.decodestring(b'aGk=\n')
except AttributeError as e:
print(type(e).__name__) # → AttributeError
# Python 3.9+
import base64
print(base64.decodebytes(b'aGk=\n')) # → b'hi'
print(base64.b64decode('aGk='.encode('ascii'))) # → b'hi'
import base64
print(base64.decodestring(b'aGk=\n')) # → b'hi'
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности