Теперь запакуем строку.
В этом случае следует передавать тип данных 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
#MET
Meteora потеряла $1,5 млн при выкупе MET
Meteora сообщили в отчете за I квартал 2026 года, что 17 января команда пыталась купить собственный токен MET через OTC-сделку.
Мошенники обманули обе стороны сделки — команду Meteora и реального эскроу — через поддельные чаты и звонки. В итоге Meteora отправила 1,5 млн USDC, но не получила токены.
Средства быстро смешали и вывели через KuCoin, поэтому заморозить их не удалось. Команда заявила, что подала заявление в полицию, сохранила ончейн-доказательства и усилила безопасность кошельков.
🔍🐳 Whale transactions:
1. Vitalik continues sell #ETH, sold ~3788 #ETH over the last 3 days;
2. Machi Big Brother in full liquidated. His account dropped again to $24.9 thousand, and the total loss reached $28.95 million;
3. Someone created new Polymarket wallet and spent $5,891 to bet that Meteorawill be charged with insider trading.
He also deposited 11,500 #USDC on Hyperliquid and went 3x short for 186,435 #MET ($33,000);
4. A new wallet contributed 1.8 million #USDC on Hyperliquid and went long with 25x leverage for 13,563 #ETH ($24.87 million).
🔻La mai bine de o lună de zile de la sistarea de către gigantul rus #Gazprom a livrării gazelor în regiunea transnistreană, o soluție de lungă durată pentru criza energetică provocată așa și încă nu a fost găsită.
🔻Soluţia promovată de #Moscova şi autorităţile din regiunea separatistă cu livrarea de gaze de către o firmă din #Ungaria (de fapt din #Elveţia), dar cu plata livrărilor prin intermediul unei firme din #Dubai, cu prestări de servicii și comerț, nu este nicidecum o soluţie de durată, dar a fost acceptată în final de Guvernul Republicii Moldova.
🔻Coincidență sau nu, dar cu câteva zile înainte de anunțul Gazprom-ului de sistare a livrărilor de gaze, grupul #MET, ales să livreze gaze în regiunea secesionistă, și-a deschis o firmă la #Chișinău.
Citește ancheta: https://www.rise.md/drumul-gazului-umanitar-din-rusia-in-transnistria-via-dubai-elvetia/