Теперь запакуем строку.
В этом случае следует передавать тип данных 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
МТС Банк МСФО за 2025 год
♦️ Чистая прибыль ₽14,4 млрд (+16,7% г/г)
♦️ Чистая прибыль за IV кв ₽5 млрд (рост почти в 10 раз)
♦️ Рентабельность капитала 14,5% (–0,6% г/г)
♦️ Рентабельность капитала в IV кв 19,0% (+2,2% г/г)
♦️ Доля проблемных кредитов (NPL 90+) увеличилась до 10,6%.
#MBNK
Сайт | Бот | Invest Era
🖨 МТС Банк МСФО за 2025 год:
📈 Чистая прибыль ₽14,4 млрд (+16,7% г/г)
📈 Чистая прибыль за IV кв ₽5 млрд (рост почти в 10 раз)
💰Рентабельность капитала 14,5% (–0,6% г/г)
💰Рентабельность капитала в IV кв 19,0% (+2,2% г/г) #MBNK
Читать далее
👉https://smartlab.news/i/180446
мы в max
🖨 МТС-Банк отчет МСФО за 9М 2025 года:
— Чистая прибыль за 9М — ₽9,5 млрд (–20,2% г/г) 📉
— Чистая прибыль за III кв — ₽6 млрд (+46,8% г/г) 📈
Читать далее
👉https://smartlab.news/i/169785
#MBNK