Conversion
Conversion
Các tệp PSD lưu trữ hầu hết các trường nhị phân theo thứ tự byte big-endian. BigEndianBitConverter đọc một số nguyên 32-bit big-endian trực tiếp từ một mảng byte, cho các trường hợp bạn tự làm việc với byte thô — ví dụ, từ một tài nguyên hình ảnh không được nhận dạng.
Giải mã Giá trị 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) đọc 4 byte bắt đầu từ offset và kết hợp chúng theo thứ tự byte có giá trị cao nhất trước.
Mẹo và Thực hành Tốt nhất
BigEndianBitConverterchỉ cung cấpto_int32trong bản dựng FOSS này — đối với các giá trị big-endian 16-bit hoặc 64-bit, hãy giải mã thủ công bằng Python tích hợp sẵnint.from_bytes(data, byteorder="big").- Tiện ích này dành cho các byte thô mà bạn đã có sẵn (xem Resources) — việc tải, chỉnh sửa và lưu tài liệu thông thường không bao giờ yêu cầu nó trực tiếp.
Các vấn đề thường gặp
| Vấn đề | Nguyên nhân | Cách khắc phục |
|---|---|---|
IndexError gọi to_int32 | Mảng byte có ít hơn 4 byte khả dụng bắt đầu từ offset | Kiểm tra len(byte_array) >= offset + 4 trước khi gọi |
FAQ
Tôi có cần cái này cho việc chỉnh sửa tài liệu bình thường không?
Không — đây là một tiện ích cấp thấp cho các byte thô bạn tự thu thập. Việc tải, chỉnh sửa và lưu thông thường (xem Lõi API) không bao giờ yêu cầu nó một cách trực tiếp.
API Reference Tóm tắt
| Lớp/Phương thức | Mô tả |
|---|---|
BigEndianBitConverter.to_int32(byte_array, offset) | Giải mã một số nguyên 32-bit theo thứ tự big-endian |