Conversion
Conversion
קבצי PSD מאחסנים את רוב השדות הבינריים בסדר בייטים big-endian. BigEndianBitConverter קורא מספר שלם 32-ביט big-endian ישירות ממערך בייטים, למקרים שבהם אתה עובד עם בייטים גולמיים בעצמך — למשל, ממשאב תמונה לא מוכר.
פענוח ערך 32-ביט 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 בייטים החל מ-offset ומשלב אותם בסדר שבו הבייט המשמעותי ביותר ראשון.
טיפים ושיטות מומלצות
BigEndianBitConverterמספקto_int32רק בבנייה הזאת של FOSS — עבור ערכי big-endian של 16-ביט או 64-ביט, פענח ידנית באמצעותint.from_bytes(data, byteorder="big")המובנה של Python.- הכלי הזה משמש לבייטים גולמיים שכבר קיבלת (ראה Resources) — טעינת מסמכים רגילה, עריכה ושמירה לעולם לא דורשות אותו ישירות.
בעיות נפוצות
| בעיה | סיבה | תיקון |
|---|---|---|
IndexError קורא לto_int32 | מערך הבייטים מכיל פחות מ-4 בתים זמינים החל מ-offset | בדוק len(byte_array) >= offset + 4 לפני הקריאה |
FAQ
האם אני צריך זאת לעריכת מסמכים רגילה?
לא — זה כלי ברמת נמוכה לבייטים גולמיים שקיבלת בעצמך. טעינה, עריכה ושמירה רגילים (ראה ליבה API) אף פעם לא דורש זאת ישירות.
API Reference סיכום
| מחלקה/מתודה | תיאור |
|---|---|
BigEndianBitConverter.to_int32(byte_array, offset) | מפענח שלם 32-ביט big-endian |