Python Glossary English

все Python 3до 3.11Удалено из стандартной библиотекипонятие

binhex

удалённые модули

Модуль кодирования файлов в формат BinHex4 для старой Mac OS. Удалён в Python 3.11 — для текстового кодирования байтов используйте base64.

Синтаксис

import binhex  # до 3.11

BinHex4 переводил файл классической Mac OS в ASCII-текст, чтобы пересылать его по почте. Формат давно вышел из употребления, модуль объявили устаревшим в Python 3.9 и в 3.11 убрали вместе с функциями binascii.a2b_hqx(), b2a_hqx(), rlecode_hqx() и rldecode_hqx(). Как переписать: для передачи байтов текстом берите base64.b64encode() и base64.b64decode(); для файла — прочитать его в bytes, закодировать и записать результат. Контрольная сумма binascii.crc_hqx() осталась на месте.

Примеры

# Python 3.11+
try:
    import binhex
except ModuleNotFoundError as e:
    print(type(e).__name__)  # → ModuleNotFoundError
# Python 3.11+
import base64, binascii
text = base64.b64encode(b'hello')
print(text)  # → b'aGVsbG8='
print(base64.b64decode(text))  # → b'hello'
print(binascii.crc_hqx(b'hello', 0))  # → 50018
import binhex
with open('in.txt', 'wb') as f:
    f.write(b'hello')
binhex.binhex('in.txt', 'in.hqx')
binhex.hexbin('in.hqx', 'back.txt')
with open('back.txt', 'rb') as f:
    print(f.read())  # → b'hello'

См. также

Частые ошибки

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