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 декодируйте вручную с помощью встроенного в Python int.from_bytes(data, byteorder="big").
  • Эта утилита предназначена для необработанных байтов, которые вы уже получили (см 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

См. также:

 Русский