Python Glossary English

Python 3.10+base64функция

base64.b32hexencode()

Base32 и Base16

Base32 с «расширенным шестнадцатеричным» алфавитом 0–9 и A–V. Закодированные строки сортируются так же, как исходные байты.

Синтаксис

base64.b32hexencode(s)

Главное отличие от b32encode — порядок: в обычном Base32 цифры 2–7 идут после букв в алфавите кодирования, но раньше них в ASCII, поэтому сортировка закодированных строк ломается. У base32hex алфавит упорядочен как ASCII, и сравнение строк совпадает со сравнением байтов. Читать результат нужно парной b32hexdecode, не b32decode.

Примеры

import base64
print(base64.b32encode(b'\x00'), base64.b32encode(b'\xff'))  # → b'AA======' b'74======' — порядок перевёрнут
print(base64.b32hexencode(b'\x00'), base64.b32hexencode(b'\xff'))  # → b'00======' b'VS======'

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности