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}") # 1040to_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
BigEndianBitConverterfournitto_int32uniquement dans cette version FOSS — pour les valeurs big-endian 16 bits ou 64 bits, décodez manuellement avec la fonction intégréeint.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ème | Cause | Correction |
|---|---|---|
IndexError appelant to_int32 | Le tableau d’octets contient moins de 4 octets disponibles à partir de offset | Vé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éthode | Description |
|---|---|
BigEndianBitConverter.to_int32(byte_array, offset) | Décode un entier 32 bits big-endian |