========================== === GENERAL COMPARISON === Header Extended Header Frame Padding Footer ------------------------------+--------------------------------+--------------------------------------------+--------------+-------------------------------+ I D 3 4 0 X Y Y Y Y | X X X X 0 1 Y Y ... | X X X X Y Y Y Y Z Z D D D... | 0 0 0... | 3 D I 4 0 X Y Y Y Y | ------- ---- - ---------- + ---------- ---- -------- + ---------- ---------- ---- ---------- + ---------- + ------- ---- - ---------- + I D 3 3 0 X Y Y Y Y | X X X X Y Y Z Z Z Z | X X X X Y Y Y Y Z Z D D D... | 0 0 0... | none | ------- ---- - ---------- + ---------- ---- ---------- + ---------- ---------- ---- ---------- + ---------- + + I D 3 2 0 X Y Y Y Y | none | X X X Y Y Y D D D... | 0 0 0... | none | ------- ---- - ---------- + + ------- ------- ---------- + ---------- + + ========================== === HEADERS COMPARISON === ID3v2/file identifier "ID3" | ID3v2/file identifier "ID3" | ID3/file identifier "ID3" ID3v2 version $04 00 | ID3v2 version $03 00 | ID3 version $02 00 ID3v2 flags %abcd0000 | ID3v2 flags %abc00000 | ID3 flags %ab000000 ID3v2 size 4 * %0xxxxxxx | ID3v2 size 4 * %0xxxxxxx | ID3 size 4 * %0xxxxxxx | | a - Unsynchronisation | a - Unsynchronisation | a - Unsynchonization b - Extended header | b - Extended header | b - Compression c - Experimental indicator | c - Experimental indicator | d - Footer present | | =================================== === EXTENDED HEADERS COMPARISON === Extended header size 4 * %0xxxxxxx | Extended header size $xx xx xx xx | none Number of flag bytes $01 | Extended Flags %x0000000 00000000 | Extended Flags %0bcd0000 | Size of padding $xx xx xx xx | | | b - Tag is an update | x - CRC data present | c - CRC data present | | d - Tag restrictions | | ========================= === FRAMES COMPARISON === Frame ID $xx xx xx xx (four chars) | Frame ID $xx xx xx xx (four chars) | Frame ID $xx xx xx (three chars) Size 4 * %0xxxxxxx | Size $xx xx xx xx | Size $xx xx xx Flags %0abc0000 %0h00kmnp | Flags %abc00000 %ijk00000 | | | a - Tag alter preservation | a - Tag alter preservation | b - File alter preservation | b - File alter preservation | c - Read only | c - Read only | h - Grouping identity | i - Compression | k - Compression | j - Encryption | m - Encryption | k - Grouping identity | n - Unsynchronisation | | p - Data length indicator | | ========================== === FOOTERS COMPARISON === ID3v2 identifier "3DI" | none | none ID3v2 version $04 00 | | ID3v2 flags %abcd0000 | | ID3v2 size 4 * %0xxxxxxx | |