Теперь запакуем строку.
В этом случае следует передавать тип данных 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
https://play.google.com/store/apps/details?id=com.kiwibrowser.browser
Kiwi Browser 是一款可以安装和使用Chrome桌面版插件的Android端浏览器。我们可以将电脑上常用的广告屏蔽等插件安装在我们的手机浏览器上达到和电脑端一样清爽的浏览效果。
Kiwi Browser is an android browser that can install Chrome desktop version extensions. We can install adblock extension on our phone to achieve same browsing experience on our PC.
#Software
资源名称:Mac OS X Install DVD 10.6.7 For 2011 MacBook Pro 13 13-inch
描述:Mac OS X Install DVD 10.6.7 For 2011 MacBook Pro 13 13-inch
🧲 链接: magnet:?xt=urn:btih:AF43645BEEC95951A47CC4E364F7774081C7E1BF
👉使用 PikPak 秒存,立即在线观看👈
📁 文件大小:6.23GB
🏷 文件类型:#Software#MacOS
📢 频道:@PikPak_Share_Channel
👥 群组:@PikPak_Share_Group