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}") # 1040to_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
BigEndianBitConverterforneceto_int32apenas nesta compilação FOSS — para valores big-endian de 16 bits ou 64 bits, decodifique manualmente com oint.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
| Problema | Causa | Correção |
|---|---|---|
IndexError chamando to_int32 | O array de bytes tem menos de 4 bytes disponíveis a partir de offset | Verifique 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étodo | Descrição |
|---|---|
BigEndianBitConverter.to_int32(byte_array, offset) | Decodifica um inteiro de 32 bits big-endian |