SWFの構造要約_タグのフォーマット - hsk/swfspec_ja GitHub Wiki
タグのフォーマット
それぞれのタグは、タグの種類と長さから始まります。 タグヘッダフォーマットは short と long の 2 種類のうちから選ぶことができます。 short タグヘッダは 62 バイト以下のデータで使用することができます。 long タグヘッダには 32 bit の符号付き長さフィールドがあり、 2 GB までのサイズのタグを使用できます。
RECORDHEADER (short)
| フィールド | 型 | コメント |
|---|---|---|
| TagCodeAndLength | UI16 | 上位 10 bit: タグの種類下位 6 bit: タグの長さ |
(注)
TagCodeAndLength フィールドは 2 バイトの長さがありますが、
ビットフィールドの 10 bit と 6 bit ではなく、
リトルエンディアンのバイトオーダーで保存されます。
TagCodeAndLength フィールドの "タグの長さ" は、RECORDHEADER の長さを含みません。
タグの長さが 63 バイト以上になる場合は、long タグヘッダを使用します。 long タグヘッダは short タグヘッダの "タグの長さ" 値に 0x3F を指定したものを含み、その次に 32 bit の長さの値が続きます。
RECORDHEADER (long)
| フィールド | 型 | コメント |
|---|---|---|
| TagCodeAndLength | UI16 | 上位 10 bit: タグの種類下位 6 bit: タグの長さ (= 0x3F 固定) |
| Length | SI32 | タグの長さ |
移動
- 前のページ : SWF ファイルの構造
- 次のページ : 定義と制御のタグ