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}") # 1040to_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
BigEndianBitConverterfornisceto_int32solo in questa build FOSS — per valori big-endian a 16-bit o 64-bit, decodifica manualmente con la funzione integrataint.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
| Problema | Cause | Correzione |
|---|---|---|
IndexError chiamando to_int32 | L’array di byte ha meno di 4 byte disponibili a partire da offset | Controlla 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/Metodo | Descrizione |
|---|---|
BigEndianBitConverter.to_int32(byte_array, offset) | Decodifica un intero a 32-bit big-endian |