Conversion

Conversion

فایل‌های PSD بیشتر فیلدهای باینری را به ترتیب بایت‌های بزرگ‌اند (big-endian) ذخیره می‌کنند. BigEndianBitConverter یک عدد صحیح ۳۲-بیتی با ترتیب بزرگ‌اند را مستقیماً از یک آرایه بایت می‌خواند، برای مواردی که خودتان با بایت‌های خام کار می‌کنید — برای مثال، از یک منبع تصویر ناشناخته.


کدگشایی مقدار ۳۲-بیتی با ترتیب بزرگ‌اند

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) ۴ بایت را از offset می‌خواند و آن‌ها را به ترتیب بایت مهم‌ترین اول ترکیب می‌کند.


نکات و بهترین روش‌ها

  • BigEndianBitConverter فقط در این ساختار منبع باز (FOSS) to_int32 را فراهم می‌کند — برای مقادیر بزرگ‌اند ۱۶-بیتی یا ۶۴-بیتی، به‌صورت دستی با Python داخلی int.from_bytes(data, byteorder="big") رمزگشایی کنید.
  • این ابزار برای بایت‌های خامی است که قبلاً به‌دست آورده‌اید (به Resources) — بارگذاری، ویرایش و ذخیره‌سازی معمولی سند هرگز به‌صورت مستقیم به آن نیاز ندارند.

مشکلات رایج

مسئلهدلیلرفع
IndexError در حال فراخوانی to_int32آرایه بایت کمتر از ۴ بایت در دسترس دارد که از offset شروع می‌شودقبل از فراخوانی، len(byte_array) >= offset + 4 را بررسی کنید

FAQ

آیا برای ویرایش عادی سند به این نیاز دارم؟

خیر — این یک ابزار سطح پایین برای بایت‌های خامی است که خودتان به دست آورده‌اید. بارگذاری، ویرایش و ذخیره‌سازی معمولی (به Core API) هرگز به‌طور مستقیم به آن نیاز ندارد.


خلاصه API Reference

کلاس/متدتوضیح
BigEndianBitConverter.to_int32(byte_array, offset)یک عدد صحیح ۳۲ بیتی به فرمت big-endian را رمزگشایی می‌کند

همچنین ببینید:

 فارسی