Теперь запакуем строку.
В этом случае следует передавать тип данных 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
Innov Gnawa — Lila (Daptone Records, 2021)
#traditional#gnawa#guembri#qraqebs#Morocco
Innov Gnawa — группа марокканских эмигрантов из Нью-Йорка. Возглавляет коллектив Маалем Джаффар, исполнитель на гембри, трехструнной лютне. Джаффара сопровождает хор из четырех музыкантов, поддерживающих ритм при помощи кракебов, металлических кастаньет, распространенных в Магрибе. Музыка гнава, которую называют «суфийским блюзом», — это духовная традиция, уходящая корнями в историю Магриба. В Марокко её принесли западноафриканские рабы. Из-за этого гнава часто интересуются джазовые музыканты, находя в ней общие со своей музыкой корни. Когда Боско Манн, нью-йоркский продюсер, увидел гипнотическое выступление Innov Gnawa, он пригласил их записать несколько треков. За пятичасовую сессию группа подготовила материал для целого альбома. Всё за один дубль. «Lila», что означает «ночь», — это традиционная церемония, в которой Маалем и его ансамбль совершают целебный ритуал с помощью музыки.
Spotify | AppleMusic | Bandcamp | VK
Electric Jalaba — El Hal (Strut Records, 2021)
#gnawa#afrobeat#funk#dub#electronic#sintir#guembri#Morocco
«Хаал» — сложное суфийское понятие. Одно из возможных его определений — продукт духовных практик суфия на его пути к Богу. Electric Jalaba описывают «xаал» как «чувство» сильнейшей сплочённости, но в то же время и потери связи с реальностью. Руководит коллективом Симо Лагнави — певец марокканского происхождения и исполнитель на синтире (سنتير), ведущий исполнитель музыки гнава в Великобритании. El Hal — третий альбом Electric Jalaba и их первый релиз за пять лет. В нем преобладают традиции гнава, смешенные со звуками аналоговых синтезаторов и элементами афробита. Язык песен — арабский, но в знак уважения к многовековому кочевому образу жизни исполнителей гнава, он приправлен элементами западноафриканских диалектов народов бамбара из Мали, фулани и хауса из региона Сахель.
Spotify | AppleMusic | Bandcamp | VK
Bab L' Bluz — Nayda! (Real World Records, 2020)
#gnawa#tishoumaren#chaabi#psychedelic#blues#funk#sintir#tanpura#Morocco
Nayda! – дебют марокканско-французского квартета Bab L 'Bluz, родившегося из мечты продвинуть синтир, традиционный музыкальный инструмент народна гнауа, на международную музыкальную сцену. Группа относится к той волне молодых марокканских артистов, которые черпают вдохновение из своего наследия и исполняют композиции на диалекте дарижа. Этот диалект характеризуется большим количеством заимствований из языков исторических владельцев колоний Магриба, французского и испанского, а также из местных берберских языков. Помимо влияния культуры гнауа, музыка Bab L 'Bluz содержит элементы психоделического рока, фанка и блюза таурегов. На записи можно найти звуки Атлантического океана, элементы североафриканского стиля чааби и звуки индийской танпуры.
Spotify | AppleMusic | Bandcamp