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}")  # 1040

to_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

Δείτε επίσης

 Ελληνικά