Conversion
Conversion
Τα αρχεία PSD αποθηκεύουν τα περισσότερα δυαδικά πεδία σε σειρά byte big-endian. BigEndianBitConverter διαβάζει έναν 32-bit ακέραιο big-endian απευθείας από έναν πίνακα byte, για περιπτώσεις όπου εργάζεστε με ακατέργαστα byte μόνοι σας — για παράδειγμα, από έναν μη αναγνωρισμένο πόρο εικόνας.
Αποκωδικοποίηση μιας 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) διαβάζει 4 byte ξεκινώντας από το offset και τα συνδυάζει με σειρά πιο σημαντικού byte πρώτο.
Συμβουλές και βέλτιστες πρακτικές
BigEndianBitConverterπαρέχειto_int32μόνο σε αυτήν την έκδοση FOSS — για τιμές 16-bit ή 64-bit big-endian, αποκωδικοποιήστε χειροκίνητα με το ενσωματωμένοint.from_bytes(data, byteorder="big")του Python.- Αυτό το εργαλείο είναι για τα ακατέργαστα byte που έχετε ήδη αποκτήσει (δείτε Resources).
Κοινά Προβλήματα
| Πρόβλημα | Αιτία | Διόρθωση |
|---|---|---|
IndexError καλώντας to_int32 | Ο πίνακας byte έχει λιγότερα από 4 byte διαθέσιμα ξεκινώντας από το offset | Ελέγξτε το len(byte_array) >= offset + 4 πριν καλέσετε |
FAQ
Χρειάζομαι αυτό για κανονική επεξεργασία εγγράφων;
Όχι — είναι ένα utility χαμηλού επιπέδου για ακατέργαστα bytes που έχετε αποκτήσει μόνοι σας. Η τυπική φόρτωση, επεξεργασία και αποθήκευση (δείτε Core API) δεν το απαιτεί ποτέ άμεσα.
API Reference Σύνοψη
| Κλάση/Μέθοδος | Περιγραφή |
|---|---|
BigEndianBitConverter.to_int32(byte_array, offset) | Αποκωδικοποιεί έναν 32-bit ακέραιο big-endian |