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}")  # 1040

to_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

  • BigEndianBitConverter udostępnia to_int32 tylko w tej wersji FOSS — dla 16-bitowych lub 64-bitowych wartości big-endian, dekoduj ręcznie przy użyciu wbudowanego int.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

ProblemPrzyczynaRozwiązanie
IndexError wywołujący to_int32Tablica bajtów ma mniej niż 4 bajty dostępne zaczynając od offsetSprawdź 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/MetodaOpis
BigEndianBitConverter.to_int32(byte_array, offset)Dekoduje 32-bitową liczbę całkowitą w kolejności big-endian

Zobacz także

 Polski