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

to_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

ראה גם

 עברית