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}") # 1040to_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 ビット整数をデコードします |