Conversion

Conversion

PSD-Dateien speichern die meisten Binärfelder in Big-Endian-Byte-Reihenfolge. BigEndianBitConverter liest einen Big-Endian-32-Bit-Integer direkt aus einem Byte-Array, für Fälle, in denen Sie selbst mit Rohbytes arbeiten – zum Beispiel aus einer nicht erkannten Bildressource.


Dekodieren eines 32-Bit-Big-Endian-Werts

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) liest 4 Bytes beginnend bei offset und kombiniert sie im Format höchstwertiges Byte zuerst.


Tipps und bewährte Verfahren

  • BigEndianBitConverter stellt to_int32 nur in diesem FOSS-Build bereit – für 16-Bit- oder 64-Bit-Big-Endian-Werte dekodieren Sie manuell mit dem integrierten int.from_bytes(data, byteorder="big") von Python.
  • Dieses Dienstprogramm ist für Rohbytes gedacht, die Sie bereits erhalten haben (siehe Resources) — normales Laden, Bearbeiten und Speichern von Dokumenten erfordert es nie direkt.

Häufige Probleme

ProblemUrsacheLösung
IndexError ruft to_int32 aufDas Byte-Array hat ab offset weniger als 4 Bytes verfügbar.Überprüfen Sie len(byte_array) >= offset + 4 vor dem Aufruf

FAQ

Brauche ich das für die normale Dokumentenbearbeitung?

Nein — es ist ein Low-Level-Dienstprogramm für Rohbytes, die Sie selbst erhalten haben. Typisches Laden, Bearbeiten und Speichern (siehe Kern API) erfordert es nie direkt.


API Reference Zusammenfassung

Klasse/MethodeBeschreibung
BigEndianBitConverter.to_int32(byte_array, offset)Dekodiert einen big-endian 32-Bit-Integer

Siehe auch

 Deutsch