Теперь запакуем строку.
В этом случае следует передавать тип данных 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
#Elezioni#Slovenia
Secondo l'exit poll di Mediana, il chiaro vincitore di queste elezioni è il nuovo partito #GS|Verdi, nato dalle ceneri di ZDEJ. Con il suo 35,8%, il partito verde liberale è a pochi seggi dalla maggioranza assoluta.
@UltimoraPolitics
Крупные банки США зафиксировали рекордную выручку в Q1
♦️JPMorgan Chase сообщил о торговой выручке на уровне 11,6 млрд долл и общей выручке 49,8 млрд долл, чистая прибыль — 16,5 млрд.
♦️Citigroup зафиксировала рекорд за десятилетие квартальную выручку 24,6 млрд долл и рост чистой прибыли на 42%, а торговля и доход по фиксированному доходу показывают прирост.
♦️Goldman Sachs отчитался о чистой прибыли 5,63 млрд и выручке 17,23 млрд долл, торговля акциями — рост на 27% год к году.
#JPM#C#GS
Сайт | Бот | Invest Era
#Slovenia
Il Leader di #GS|Verdi Robert #Golob è stato nominato dal Parlamento come nuovo Primo Ministro con 54 voti a favore e 30 contrari, con 5 astenuti e 1 voto non valido.
@UltimoraPolitics
#Francia
#LFI|LEFT e #Gs|Sinistra, partito dell'ex candidato presidenziale Benoît #Hamon, hanno annunciato che correranno insieme alle prossime legislative, sotto il nome di "Union Populaire". Attualmente i due partiti contano 18 seggi nell'assemblea nazionale.
@UltimoraPolitics