Conversion
Conversion
Файли PSD зберігають більшість бінарних полів у big-endian порядку байтів. BigEndianBitConverter читає 32-бітове ціле число у big-endian безпосередньо з масиву байтів, для випадків, коли ви працюєте з необробленими байтами самостійно — наприклад, з нерозпізнаним ресурсом зображення.
Декодування 32-бітового значення у big-endian
from aspose_psd_foss.bigendianbitconverter import BigEndianBitConverter
data = bytes([0x00, 0x00, 0x04, 0x10]) # example 4-byte big-endian field
value = BigEndianBitConverter.to_int32(data, 0)
print(f"Decoded value: {value}") # 1040to_int32(byte_array, offset) читає 4 байти, починаючи з offset, і комбінує їх у порядку найстаршого байту спочатку.
Поради та найкращі практики
BigEndianBitConverterнадаєto_int32лише в цьому FOSS збірці — для 16-бітових або 64-бітових big-endian значень, декодуйте вручну за допомогою вбудованогоint.from_bytes(data, byteorder="big")Python.- Ця утиліта призначена для необроблених байтів, які ви вже отримали (дивіться Resources) — звичайне завантаження, редагування та збереження документів ніколи не потребує її безпосередньо.
Загальні проблеми
| Проблема | Причина | Виправлення |
|---|---|---|
IndexError викликає to_int32 | У масиві байтів доступно менше ніж 4 байти, починаючи з offset | Перевірте len(byte_array) >= offset + 4 перед викликом |
FAQ
Чи потрібен мені це для звичайного редагування документів?
Ні — це низькорівнева утиліта для необроблених байтів, які ви отримали самостійно. Типове завантаження, редагування та збереження (див. Core API) ніколи не вимагає його безпосередньо.
API Reference Підсумок
| Клас/Метод | Опис |
|---|---|
BigEndianBitConverter.to_int32(byte_array, offset) | Декодує 32-бітове ціле число у форматі big-endian |