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}") # 1040to_int32(byte_array, offset) liest 4 Bytes beginnend bei offset und kombiniert sie im Format höchstwertiges Byte zuerst.
Tipps und bewährte Verfahren
BigEndianBitConverterstelltto_int32nur in diesem FOSS-Build bereit – für 16-Bit- oder 64-Bit-Big-Endian-Werte dekodieren Sie manuell mit dem integriertenint.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
| Problem | Ursache | Lösung |
|---|---|---|
IndexError ruft to_int32 auf | Das 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/Methode | Beschreibung |
|---|---|
BigEndianBitConverter.to_int32(byte_array, offset) | Dekodiert einen big-endian 32-Bit-Integer |