4CC Binary Blob Format
- Header:
- 4CC: 4 byte character code
- bytelength: 4 byte unsigned payload size in bytes
- Payload:
- data: payload data max 2^32 bytes
Constraints
- Only write whole structure
- There will be no case in which a partial 4CC binary blob will be rewritten
Example
- '_' specifies whitespace (0x20)
Header | Payload | |
---|---|---|
4CC | bytelength | data |
4 | 4 | n/a |
'__ID' | 0x3 | 'DIA' |
'_REV' | 0x1 | 0xa |
'_SER' | 0xa | '6502400001' |
Efficiency
- Payload: 14 bytes
- Overhead: 24 bytes
- → 37%
Directory Extension
- First bit (MSB) of first byte of 4CC field is directory extension bit
- If set data field will start with another header
Example
- 4CC = '_SER' = 0x20534552
- 4CC* = 0xa0534552
- 4CC*: 4 byte character code field with directory extension bit set
Header | Payload | |||
---|---|---|---|---|
Header | Payload | |||
4CC* | bytelength | 4CC | bytelength | data |