#python #struct #hex #byte #pack
#python #структура #шестнадцатеричный #байт #пакет
Вопрос:
Я новичок в программировании на python и пишу скрипт, который использует struct.pack() для преобразования числа с плавающей запятой в шестнадцатеричную строку. Я должен упаковать это число с плавающей запятой в 1 байт. Я понимаю, что размер float составляет 4 байта. Но есть ли способ сохранить значение 0,1 в виде 1 байта с помощью struct.pack().
Я попробовал следующее, но это выдает ошибку.
struct.pack('!B', 0.1)
Если нет, есть ли какой-либо альтернативный подход для сохранения его как ЦЕЛОГО числа в 1 байт?
Я был бы очень признателен за любую помощь.
Комментарии:
1. Можете ли вы опубликовать ошибку?
2. Я не думаю, что struct — это то, что вам нужно, вам нужен свой собственный формат, с 1 байтом вы теряете много точности, вам нужно реализовать функции дампа и загрузки, чтобы ваш формат содержался в 1 байте…
3. @AnnZen, вот ошибка: struct.error: аргумент для ‘s’ должен быть объектом bytes