Conversion

Conversion

ไฟล์ PSD จัดเก็บฟิลด์ไบนารีส่วนใหญ่ในลำดับไบต์แบบ big-endian BigEndianBitConverter อ่าน big-endian 32-bit integer โดยตรงจากอาเรย์ไบต์ สำหรับกรณีที่คุณทำงานกับไบต์ดิบด้วยตนเอง — เช่น จากแหล่งภาพที่ไม่รู้จัก.


การถอดรหัสค่า 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 ไบต์เริ่มจาก offset แล้วรวมเข้าด้วยกันโดยเรียงตาม most-significant-byte-first.


เคล็ดลับและแนวปฏิบัติที่ดีที่สุด

  • BigEndianBitConverter ให้ to_int32 เฉพาะในรุ่น FOSS นี้ — สำหรับค่าที่เป็น big-endian ขนาด 16-bit หรือ 64-bit ให้ถอดรหัสด้วยตนเองโดยใช้ Python ที่มีอยู่ในตัว int.from_bytes(data, byteorder="big").
  • ยูทิลิตี้นี้สำหรับไบต์ดิบที่คุณได้มามาแล้ว (ดู Resources) — การโหลดเอกสาร ปรับแก้ และบันทึกตามปกติไม่จำเป็นต้องใช้มันโดยตรง.

ปัญหาทั่วไป

ปัญหาสาเหตุวิธีแก้
IndexError เรียก to_int32อาร์เรย์ไบต์มีไบต์น้อยกว่า 4 ไบต์ที่พร้อมใช้งานเริ่มจาก offsetตรวจสอบ len(byte_array) >= offset + 4 ก่อนเรียก

FAQ

ฉันต้องการสิ่งนี้สำหรับการแก้ไขเอกสารปกติหรือไม่?

ไม่ — เป็นยูทิลิตี้ระดับต่ำสำหรับไบต์ดิบที่คุณได้มาด้วยตนเอง การโหลด, แก้ไข, และบันทึกทั่วไป (see คอร์ API).


API Reference สรุป

คลาส/เมธอดคำอธิบาย
BigEndianBitConverter.to_int32(byte_array, offset)ถอดรหัสจำนวนเต็ม 32-บิตแบบบิ๊ก-เอนด์เดียน

ดูเพิ่มเติม

 ภาษาไทย