Conversion

Conversion

Arquivos PSD armazenam a maioria dos campos binários em ordem de bytes big-endian. BigEndianBitConverter lê um inteiro de 32 bits big-endian diretamente de um array de bytes, para casos em que você está trabalhando com bytes crus você mesmo — por exemplo, de um recurso de imagem não reconhecido.


Decodificando um Valor Big-Endian de 32 Bits

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) lê 4 bytes a partir de offset e os combina começando pelo byte mais significativo.


Dicas e Melhores Práticas

  • BigEndianBitConverter fornece to_int32 apenas nesta compilação FOSS — para valores big-endian de 16 bits ou 64 bits, decodifique manualmente com o int.from_bytes(data, byteorder="big") incorporado do Python.
  • Esta utilidade é para bytes crus que você já obteve (veja Resources) — o carregamento, edição e salvamento normais de documentos nunca requerem isso diretamente.

Problemas Comuns

ProblemaCausaCorreção
IndexError chamando to_int32O array de bytes tem menos de 4 bytes disponíveis a partir de offsetVerifique len(byte_array) >= offset + 4 antes de chamar

FAQ

Preciso disso para edição normal de documentos?

Não — é um utilitário de baixo nível para bytes brutos que você obteve por conta própria. Carregamento, edição e gravação típicos (veja Núcleo API) nunca o exige diretamente.


API Reference Resumo

Classe/MétodoDescrição
BigEndianBitConverter.to_int32(byte_array, offset)Decodifica um inteiro de 32 bits big-endian

Ver também

 Português