SWF 檔案格式規範
最後更新:存檔版本 19 (SWF10)
概覽
SWF (Small Web Format) 是 Flash Player 使用的二進制向量圖形格式。它的設計旨在透過網路高效傳輸並在螢幕上渲染。
檔案結構
SWF 檔案由一個標頭 (Header) 以及隨後的一系列標籤 (Tags) 組成。
+----------------+----------------+----------------+
| Header | Tag 1 | Tag 2 ... |
+----------------+----------------+----------------+
標頭格式
| 欄位 | 類型 | 描述 |
|---|---|---|
| 簽名 | UI8[3] | 'FWS' (未壓縮) 或 'CWS' (Zlib 壓縮) |
| 版本 | UI8 | SWF 版本號 (例如 0x0A 代表 v10) |
| 檔案長度 | UI32 | 檔案總位元組大小 (未壓縮) |
標籤概念
SWF 檔案中的所有數據都存儲在標籤中。標籤可以是定義標籤(定義圖形、按鈕等角色)或控制標籤(操作這些角色,例如 PlaceObject)。
struct RecordHeader {
unsigned short TagCodeAndLength;
if ((TagCodeAndLength & 0x3F) == 0x3F) {
unsigned long Length;
}
}