Я пытаюсь выполнить декодирование URL-адреса base64 в шестнадцатеричной строке. Однако я не могу правильно декодировать строку, используя Python3.
Шестнадцатеричная строка - 614756736247395862334a735a41
, а эквивалент ASCII - «aGVsbG9Xb3JsZA». Декодированная строка должна быть helloWorld
.
Мой код:
str_encoded = "614756736247395862334a735a41"
byte_encoded = binascii.unhexlify(str_encoded)
print(base64.urlsafe_b64decode(str(byte_encoded) + '=' * (4 - len(str(byte_encoded)))))
print(base64.urlsafe_b64decode("aGVsbG9Xb3JsZA=="))
Если я запустил вышеуказанное с помощью Python2, я получу правильную декодированную строку helloWorld
. Но если я запустил с Python3, первый print
дал неверный результат.
Почему есть разница и какую альтернативу binascii.unhexlify()
мне следует использовать в Python3?