Conversion

Conversion

PSD ファイルはほとんどのバイナリフィールドをビッグエンディアンのバイト順で格納します。BigEndianBitConverter はバイト配列からビッグエンディアンの 32 ビット整数を直接読み取ります。これは、未認識の画像リソースなど、独自に生バイトを扱う場合に使用します — 例として、生バイトを直接扱うケースがあります。


32 ビットビッグエンディアン値のデコード

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) は offset から開始する 4 バイトを読み取り、最上位バイトから順に結合します。


ヒントとベストプラクティス

  • BigEndianBitConverter はこの FOSS ビルドでのみ to_int32 を提供します — 16 ビットまたは 64 ビットのビッグエンディアン値については、Python の組み込み int.from_bytes(data, byteorder="big") を使用して手動でデコードしてください。
  • このユーティリティは、すでに取得した生バイト用です(see Resources) — 通常の文書の読み込み、編集、保存は直接これを必要としません。

よくある問題

問題原因修正
IndexError が to_int32 を呼び出すバイト配列は、offset から開始して利用できるバイトが4バイト未満です呼び出す前に len(byte_array) >= offset + 4 を確認してください

FAQ

通常の文書編集にはこれが必要ですか?

いいえ — それは自分で取得した生バイト用の低レベルユーティリティです。通常の読み込み、編集、保存(参照 Core API) は直接それを必要としません。


API Reference 概要

クラス/メソッド説明
BigEndianBitConverter.to_int32(byte_array, offset)ビッグエンディアンの 32 ビット整数をデコードします

参照

 日本語