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}")  # 1040

to_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

Дивіться також

 Українська