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Сообщить о неточности