Теперь запакуем строку.
В этом случае следует передавать тип данных 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
⏺Un ancien président congolais ciblé par les États-Unis
Plusieurs sanctions frappent désormais Joseph #Kabila, accusé de soutenir l’#AFC-M23, la rébellion qui occupe une bonne partie de l'est du pays. Un tournant considéré comme décisif dans ce contexte violent. Quel impact cela aura-t-il sur une sphère politique toujours fragile ?
Les détails avec Eunice Mukika.
RT en français • Osez questionner !
⏺Un ancien président congolais ciblé par les États-Unis
Plusieurs sanctions frappent désormais Joseph #Kabila, accusé de soutenir l’#AFC-M23, la rébellion qui occupe une bonne partie de l'est du pays. Un tournant considéré comme décisif dans ce contexte violent. Quel impact cela aura-t-il sur une sphère politique toujours fragile ?
Les détails avec Eunice Mukika.
RT en français • Osez questionner !
🇨🇩#RDC : Kabila sanctionné
Selon Reuters, les États-Unis vont imposer des sanctions à l’ancien président congolais Joseph #Kabila, accusé par le Trésor américain d’avoir soutenu financièrement l’AFC, branche politico-militaire liée aux rebelles du M23, dans l’est de la RDC.
#Washington affirme que ce soutien a alimenté l’instabilité et entravé les efforts de paix entre Kinshasa et Kigali. Les sanctions prévoient le gel de ses éventuels avoirs aux États-Unis et l’interdiction de transactions dans le système financier américain.
RT en français • Osez questionner !
🇨🇩#RDC : Kabila sanctionné
Selon Reuters, les États-Unis vont imposer des sanctions à l’ancien président congolais Joseph #Kabila, accusé par le Trésor américain d’avoir soutenu financièrement l’AFC, branche politico-militaire liée aux rebelles du M23, dans l’est de la RDC.
#Washington affirme que ce soutien a alimenté l’instabilité et entravé les efforts de paix entre Kinshasa et Kigali. Les sanctions prévoient le gel de ses éventuels avoirs aux États-Unis et l’interdiction de transactions dans le système financier américain.
RT en français • Osez questionner !
❕Kinshasa : des militants de l’UDPS dans les rues
À #Kinshasa, plusieurs milliers de militants de l’#UDPS ont investi les rues ce lundi pour soutenir les sanctions américaines contre l’ancien président Joseph #Kabila et réaffirmer leur appui au chef de l’État Félix #Tshisekedi. Une mobilisation qui a fortement marqué la capitale, dans un contexte de sanctions visant l’ancien chef de l’État.
🗣Les détails avec Eunice Mukika.
RT en français • Osez questionner !