Conversion

Conversion

Les fichiers PSD stockent la plupart des champs binaires en ordre d’octets big-endian. BigEndianBitConverter lit un entier 32 bits big-endian directement à partir d’un tableau d’octets, pour les cas où vous travaillez vous-même avec des octets bruts — par exemple, à partir d’une ressource d’image non reconnue.


Décodage d’une valeur 32 bits 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) lit 4 octets à partir de offset et les combine en mettant le byte le plus significatif en premier.


Conseils et bonnes pratiques

  • BigEndianBitConverter fournit to_int32 uniquement dans cette version FOSS — pour les valeurs big-endian 16 bits ou 64 bits, décodez manuellement avec la fonction intégrée int.from_bytes(data, byteorder="big") de Python.
  • Cet utilitaire est destiné aux octets bruts que vous avez déjà obtenus (voir Resources) — le chargement, la modification et l’enregistrement normaux de documents ne le nécessitent jamais directement.

Problèmes courants

ProblèmeCauseCorrection
IndexError appelant to_int32Le tableau d’octets contient moins de 4 octets disponibles à partir de offsetVérifiez len(byte_array) >= offset + 4 avant d’appeler

FAQ

Ai-je besoin de cela pour l’édition normale de documents?

Non — c’est un utilitaire de bas niveau pour les octets bruts que vous avez obtenus vous-même. Le chargement, l’édition et l’enregistrement typiques (voir Core API) ne le nécessite jamais directement.


Résumé de API Reference

Classe/MéthodeDescription
BigEndianBitConverter.to_int32(byte_array, offset)Décode un entier 32 bits big-endian

Voir aussi

 Français