Conversion
Conversion
Pliki PSD przechowują większość pól binarnych w kolejności bajtów big-endian. BigEndianBitConverter odczytuje 32-bitową liczbę całkowitą w formacie big-endian bezpośrednio z tablicy bajtów, w przypadkach, gdy samodzielnie pracujesz z surowymi bajtami — na przykład z nierozpoznanego zasobu obrazu.
Dekodowanie 32-bitowej wartości 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) odczytuje 4 bajty zaczynając od offset i łączy je w kolejności od najważniejszego bajtu.
Wskazówki i najlepsze praktyki
BigEndianBitConverterudostępniato_int32tylko w tej wersji FOSS — dla 16-bitowych lub 64-bitowych wartości big-endian, dekoduj ręcznie przy użyciu wbudowanegoint.from_bytes(data, byteorder="big")w Python.- To narzędzie służy do surowych bajtów, które już uzyskałeś (zobacz Resources) — normalne ładowanie dokumentu, edytowanie i zapisywanie nigdy nie wymaga go bezpośrednio.
Częste problemy
| Problem | Przyczyna | Rozwiązanie |
|---|---|---|
IndexError wywołujący to_int32 | Tablica bajtów ma mniej niż 4 bajty dostępne zaczynając od offset | Sprawdź len(byte_array) >= offset + 4 przed wywołaniem |
FAQ
Czy potrzebuję tego do normalnej edycji dokumentów?
Nie — to niskopoziomowe narzędzie do surowych bajtów, które sam uzyskałeś. Typowe ładowanie, edytowanie i zapisywanie (zobacz Rdzeń API) nigdy nie wymaga go bezpośrednio.
API Reference Podsumowanie
| Klasa/Metoda | Opis |
|---|---|
BigEndianBitConverter.to_int32(byte_array, offset) | Dekoduje 32-bitową liczbę całkowitą w kolejności big-endian |