概要
[スキーマ] ノードの [Count Positions In Bytes]\(バイト単位の位置数\) プロパティを使用すると、次のことができます。
- 位置指定レコード内のさまざまなフィールドの 位置指定長 および 位置オフセット プロパティに入力する値の解釈方法を指定する
- 位置指定レコード自体の Tag Offset プロパティに入力する値の解釈方法を指定する
既定では、これらの値は文字数として解釈されます。 ただし、 Count Positions In Bytes プロパティが True に設定されている場合、これらの値はバイト数として解釈されます。
マルチバイト文字セット (MBCS または DBCS) データを処理する場合、またはフラット ファイル メッセージが SAP、メインフレーム、またはバイト単位でカウントされる可能性があるその他のシステムで発生する場合は、 Count Positions In Bytes プロパティを True に 設定する必要があります。
フィールド長をバイト単位でカウントすると、文字のエンコードに使用されるバイト数が可変である場合に複雑になりやすく、フィールド境界の区切りに関連した問題が生じる場合もあります。 このような場合、フラット ファイル逆アセンブラーは、フラット ファイルを解析するときに、使用されている文字エンコードに基づいて、適切な解析方法を決定します。
文字エンコードに基づいて解析方法を決定する際、MBCS 文字エンコードの先頭バイト (先行バイトともいう) が考慮されます。 先頭バイトは、マルチバイト文字エンコードの始まりを示す目的で使用され、単独で出現することはありません。 フィールドの長さを文字単位ではなくバイト単位で指定する場合、フィールドの最後のバイトが先頭バイトになってしまう可能性があります。上記のとおり、先頭バイトが単独で文字を形成することはありえません。 このような場合、フラット ファイル逆アセンブラーは、先頭バイトの直前に現れた文字を、前のフィールドの最後の文字として扱い、末尾にある先頭バイトを次のフィールドの解析起点と見なします。
これらのプロパティの詳細については、「 UI ガイダンスと開発者 API 名前空間リファレンス」を参照してください。