Теперь запакуем строку.
В этом случае следует передавать тип данных 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
Сегодня по всей стране профессиональный праздник встречают работники нефтяной и газовой промышленности.
Для Татнефти этот год особенный - предприятие празднует 75 летие со дня основания треста, хотя глубина нефтеразведки в Татарстане имеет 95 летнюю историю.
Сегодня Татнефть это более 20 бизнес направлений и около 100 тыс работников в более десятка стран мира. Надёжная база экономики Республики и огромный объем социальных программ на территории всей юго-восточной агломерации Татарстана.
День нефтяника в нефтяной в Альметьевске состоялся на УРА! Прекрасное шоу, награды ветеранам и заслуженным работникам, конкурс профмастерства Татнефти и тысячи альметьевцев с семьями на улицах города.
#visittatarstan#приезжайтевтатарстан
Голосуй до 31 октября!
Сразу 5 объектов из Татарстана претендуют на звание «Сокровища России».
Каждый из вас может помочь республике взять победу в звании лучшего направления для путешествий! Голосуйте за Татарстан на сайте russia.nat-geo.ru!!!
Подробнее в наших карточках.
#visittatarstan#nationalgeographic#сокровищароссии
https://prtuz.tatarstan.ru/index.htm/news/2021918.htm