特殊型
特殊型は以下のような追加ヘッダを持つ。
内容 | サイズ | 補足 |
---|---|---|
データのバイト長 | 4 bytes | ファイル中に占める長さ |
よって属性全体としては以下のようになる。
データのバイト長
共通ヘッダと追加ヘッダを除いた、文字列やバイナリデータ本体のバイト長。
データ
文字列やバイナリデータ本体。 圧縮などは一切行われず、生の値がそのまま利用される。
文字列データは、 NUL 終端なども不要の素朴な文字列である。
また、印字不可能な文字などが利用されることがある。
たとえば \x00
(ASCII コード 0x00
) や \x01
(ASCII コード 0x01
) が特定の文脈で実際によく出現する。
データが文字列のとき、符号化形式は通常 UTF-8 である。
Maya から出力されたらしい FBX バイナリファイルで文字列として UTF-16 文字列が用いられているデータを観測したことがあるが、 ASCII 文字の範囲内であったため、 UTF-8 としても妥当な文字列であった。 そのため、 UTF-8 として妥当でないバイトシーケンスが文字列値として許されているのかは不明である。 また、そもそもこのような異常な属性値が混入することは稀であり、そのような属性値はそもそも一般の外部プロセッサで解釈することを想定していないと思われるため、無視してよいだろう。