Conversion

Conversion

I file PSD memorizzano la maggior parte dei campi binari in ordine di byte big-endian. BigEndianBitConverter legge un intero a 32-bit big-endian direttamente da un array di byte, per i casi in cui lavori con byte grezzi da solo — ad esempio, da una risorsa immagine non riconosciuta.


Decodifica di un valore a 32-bit 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) legge 4 byte a partire da offset e li combina con il byte più significativo per primo.


Suggerimenti e migliori pratiche

  • BigEndianBitConverter fornisce to_int32 solo in questa build FOSS — per valori big-endian a 16-bit o 64-bit, decodifica manualmente con la funzione integrata int.from_bytes(data, byteorder="big") di Python.
  • Questa utility è per i byte grezzi che hai già ottenuto (vedi Resources) — il caricamento, la modifica e il salvataggio normali dei documenti non lo richiedono mai direttamente.

Problemi comuni

ProblemaCauseCorrezione
IndexError chiamando to_int32L’array di byte ha meno di 4 byte disponibili a partire da offsetControlla len(byte_array) >= offset + 4 prima di chiamare

FAQ

Ho bisogno di questo per la normale modifica dei documenti?

No — è un’utilità di basso livello per byte grezzi che hai ottenuto tu stesso. Il caricamento, la modifica e il salvataggio tipici (vedi Core API) non lo richiede mai direttamente.


API Reference Riepilogo

Classe/MetodoDescrizione
BigEndianBitConverter.to_int32(byte_array, offset)Decodifica un intero a 32-bit big-endian

Vedi anche

 Italiano