Теперь запакуем строку.
В этом случае следует передавать тип данных bytes.
>>> struct.pack('=s', b'a')
b'a'
Для записи слова следует указывать количество символов.
>>> struct.pack('=5s', b'hello')
b'hello'
Кстати, запакованный вид соответствует исходному тексту. Всё верно, символ есть в таблице ASCII, то есть его код попадает в диапазон 0-127, он может быть записан одним байтом и имеет визуальное представление. А вот что будет если добавить символ вне ASCII
>>> struct.pack(f'=s', b'ё')
SyntaxError: bytes can only contain ASCII literal characters.
Ошибка возникла еще на этапе создания объекта bytes, который не может содержать такой символ. Поэтому надо кодировать эти байты из строки.
>>> enc = 'ёжик'.encode('utf-8')
>>> struct.pack(f'={len(enc)}s', enc)
b'\xd1\x91\xd0\xb6\xd0\xb8\xd0\xba'
Заметьте, длина такой строки в байтах отличается от исходной длины, так как символы вне ASCII записываются двумя байтами и более. Поэтому здесь формат создаём на лету, используя получившуюся длину как каунтер токена.
#libs#basic
Видео-обзор паблик сейла проекта OneFootball на платформе Coinlist.
Подготовили для вас первое видео в новом формате "видео-обзоры проектов".
Детали сейла:
Продают 60 млн токенов #OFC
Оценка FDV по которой можем зайти - $50м
Цена за токен - $0.05
Допустимый депозит - от $100 до $250к
Вестинг - 25% на листинге и остальное линейно каждый месяц в течение года.
Формат сейла - Filling up from the bottom(заполнение снизу-вверх), подробнее здесь. Хороший формат для тех, у кого небольшой депозит, так как сначала принимают заявки с меньшими суммами.
📆 Сейл заканчивается сегодня в 20:00 по МСК.
Для участия переходите по ссылке, проходите авторизацию и делайте депозит.
Oromo Federalist Congress To Field Candidates In Addis Ababa Only. Read. https://borkena.com/2025/12/03/ethiopia-oromo-federalist-congress-to-field-candidates-in-addis-ababa-only/#Ethiopia#News#OFC#AddisAbaba