Теперь запакуем строку.
В этом случае следует передавать тип данных 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
☝️Bilasizmi?
🏋🏻♂️ Ogʻir atletika boʻyicha Oʻzbekiston terma jamoasi kattalar oʻrtasidagi jahon chempionatlarida ketma-ket 5 bor oltin medal qoʻlga kiritdi. Bunday natijani hech bir jamoamiz takrorlay olmagan.
—
☝️ Знаете ли вы?
🏋🏻♂️ Сборная Узбекистана по тяжёлой атлетике уже пятый раз подряд удостоилась золотой награды на чемпионатах мира среди взрослых. Ни одна другая отечественная команда пока не смогла повторить такой результат.
#Fakt
👉@OlympicUz
olympic.uz I YouTube I Instagram I
#FAKT
BMB Professional Futzal Klubi tashkil etilganidan buyon mamlakat chempionatida Navoiyning “Qizilqum” jamoasiga qarshi ikki bor toʻqnash kelgan.
Ilk bahsda 7-1, ikkinchi bahsda esa 8-0 hisobida gʻalaba qayd etib, “Oq Yoʻlbarslar”ning qoʻli baland kelgan.
Bugun ular yana bir bor oʻzaro toʻqnash keladi.
BMB PFC - QIZILQUM uchrashuvi muxlislar uchun tomoshabop boʻlishi kutilmoqda.
Soat 19:00 da Andijon shahridagi “Universal SM”da start oladigan bahsga barcha futzal ixlosmandlarini taklif etamiz.
OʻTKAZIB YUBORMANG!
Telegram|Facebook|Instagram | Uzum
#FAKT
“Oq Yoʻlbarslar”ning “Neftchi” jamoasiga qarshi kechgan soʻngi ikki uchrashuvi “Oʻzbekiston kubogi” chorak finaliga toʻgʻri kelgan edi. Buxoro shahrida boʻlib oʻtgan bosqichda 9-0 hamda 8-0 hisobida BMB PFC ustun kelgan boʻlib, umumiy hisobda raqiblar darvozasiga 17 ta gol kiritilgan.
Bugun boʻlib oʻtadigan navbatdagi bahs ham gollarga boy boʻlishi kutilmoqda. Uchrashuv soat 17:00 da Andijon shahridagi “Universal SM”da start oladi.
OʻTKAZIB YUBORMANG!
Telegram|Facebook|Instagram | Uzum
#Fakt
Roʻziqul Berdiyev professional faoliyatidagi ilk golini “Yangiyer” jamoasi safida kiritgan. U o‘z debyut golini o‘yin yakuniga yaqin, 90-daqiqada “Paxtakor” darvozasiga yo‘llab, faoliyatiga unutilmas start bergan.
https://t.me/AbdullaCAfotograf
#fakt
AMIR TEMUR QABRI NEGA OCHILGAN? USHBU VIDEO ORQALI SIZ BILMAGAN MA’LUMOTLARGA EGA BOʻLASIZ?
📮𝒀𝒐'𝒍𝒊𝒎𝒊𝒛-𝒃𝒊𝒓!
📝Telegram
💻Instagram
🎞Youtube🎙Radio FM _106.7
#fakt
✏️Fargʻonaning eng goʻzal shaharlaridan biri Margʻilon tarixi haqida nimalarni bilasiz?
Videoni koʻring va ma’lumot oling!
📮𝒀𝒐'𝒍𝒊𝒎𝒊𝒛-𝒃𝒊𝒓!
📝Telegram
💻Instagram
🎞Youtube🎙Radio FM _106.7
#FAKT|
📢FARG'ONA VILOYATINING HUNARMANDLAR SHAHRI HISOBLANGAN RISHTON TUMANI HAQIDA NIMALARNI BILASIZ? USHBU VIDEO QADIMGI VA HOZIRGI RISHTON HAQIDA
📮𝒀𝒐'𝒍𝒊𝒎𝒊𝒛-𝒃𝒊𝒓!
📝Telegram
💻Instagram
🎞Youtube🎙Radio FM _106.7