Conversion
Conversion
PSD dosyaları çoğu ikili alanı büyük-endian bayt düzeninde depolar. BigEndianBitConverter ham baytlarla kendiniz çalıştığınız durumlar için — örneğin, tanınmayan bir görüntü kaynağından — bir bayt dizisinden doğrudan büyük-endian 32-bit tam sayı okur.
32-Bit Büyük-Endian Değerinin Çözülmesi
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) offset konumundan başlayan 4 baytı okur ve en anlamlı bayt önce olacak şekilde birleştirir.
İpuçları ve En İyi Uygulamalar
BigEndianBitConverterbu FOSS derlemesinde yalnızcato_int32sağlar — 16-bit veya 64-bit büyük-endian değerler için, Python’nin yerleşikint.from_bytes(data, byteorder="big")ile manuel olarak kod çözün.- Bu yardımcı program, zaten elde ettiğiniz ham baytlar içindir (bkz Resources) — normal belge yükleme, düzenleme ve kaydetme doğrudan bunu asla gerektirmez.
Sık Karşılaşılan Sorunlar
| Sorun | Sebep | Düzeltme |
|---|---|---|
IndexError çağırıyor to_int32 | Bayt dizisinde, offset konumundan başlayan 4’ten az bayt mevcut. | Çağırmadan önce len(byte_array) >= offset + 4‘ı kontrol edin. |
FAQ
Normal belge düzenleme için buna ihtiyacım var mı?
Hayır — bu, kendi elde ettiğiniz ham baytlar için düşük seviyeli bir yardımcı programdır. Tipik yükleme, düzenleme ve kaydetme (bkz. Çekirdek API) bunu doğrudan gerektirmez.
API Reference Özeti
| Sınıf/Yöntem | Açıklama |
|---|---|
BigEndianBitConverter.to_int32(byte_array, offset) | big-endian 32-bit bir tamsayıyı çözer |