Теперь запакуем строку.
В этом случае следует передавать тип данных 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
苹果 M4 Pro / Max 款 MacBook Pro 推迟发货时间,M5 Pro / Max 机型有望 1 月 28 日发布
苹果美国官网显示,M4 Pro/Max MacBook Pro 机型供应收紧,发货时间推迟至2月6日后,部分定制机型甚至延至3月17日。这通常是新品发布前的迹象。有消息称,搭载M5 Pro/Max芯片的新款MacBook Pro可能于1月28日悄然上架官网。
标签:#apple#macbookpro
Created by RocM
官方频道:@rocCHL
官方群组:@roctech
官方合作:@rocmmbot
Apple unveils new MacBooks, AirPods
Apple unveiled its latest products, including two new MacBook Pro models that use in-house chips, a new generation of AirPods, and a $5-per-month music streaming service
#AppleEvent#MacBookPro#News#Reuters
Subscribe: http://smarturl.it/reuterssubscribe
Reuters brings you the latest business, finance and breaking news video from around the globe. Our reputation for accuracy and impartiality is unparalleled.
Get the latest news on: http://reuters.com/
Follow Reuters on Facebook: https://www.facebook.com/Reuters
Follow Reuters on Twitter: https://twitter.com/Reuters
Follow Reuters on Instagram: https://www.instagram.com/reuters/?hl=en
➖@reutersworldchannel➖
💥Hub USB Tipo C 6 en 1 DEMKICO
Convierte tu portátil en una estación de trabajo completa
✅OFERTA: 11.99€
❌ Antes: 16.99€
💰Ahorras un 29%🔥
Conexión sencilla y rápida, amplía tus posibilidades de conectividad
👉 Mejora tu experiencia digital ahora
#rebajas#hubusb#adaptadormultipuerto#macbookpro#ofertas#descuentos#tecnologia#rebajasdeinvierno
🛰️Oferta publicada en Tecnología