Теперь запакуем строку.
В этом случае следует передавать тип данных 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
🎯🎯Excellent 30% Profit on #FLUX/USDT for all Premium Members
🚀🚀It has crossed all the targets
👁🗨Contact @futurechief to enter the premium group & make daily gains
#FLUX/USDT analysis :
#FLUX is currently in a downtrend, forming lower lows (LLs) and lower highs (LHs) below the 200 EMA. The price is rejecting from the resistance zone and is expected to decline further, maintaining its bearish momentum and potentially testing lower levels. Wait for pullback for short entry.
TF : 4h
Entry : $0.5124
Target : $0.4521
SL : $0.5531
#FLUX/USDT analysis :
#FLUX has recently rebounded from the support zone. It is anticipated to keep rising and test the resistance zone on the lower time frame (LTF).
TF : 1h
Entry : $0.5469
Target : $0.5847
SL : $0.5207