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}") # 1040to_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-บิตแบบบิ๊ก-เอนด์เดียน |