JEITA CP-3451 - 74 - Explanation ckID (chunk ID, a 4-character code) consists of from one to four ASCII alphanumerics, left-justified and filled with blank  characters  if  less  than  four  characters  in  length.  Blanks  cannot  be  inserted  between  characters.  This four-character  code  identifies  the  contents  of  the  chunk  data,  described  later.  Software  processing  the  chunk  is allowed to skip a chunk with an unknown chunk ID.   ckSize (chunk Size) is a 32-bit unsigned integer giving the size (bytes) of the ckData[ckSize] (chunk Data). This size does not include padding bytes following the ckID, ckSize itself and ckData. The byte order is little endian (LSB first, MSB last). In the case of RIFF files, values of more than one byte are all written in little endian order. If two or more  chunks  follow  in  sequence,  the  value  of  chSize  shall  be  read  properly  in  order  to  know  the  start  address (ckID) of the next chunk. ckData[ckSize] (chunk Data) is the actual data included in that chunk, and may be recorded as binary data of either fixed length or variable length. The start of ckData is aligned with the RIFF file start position in word (16-bit) units. If the  data  size  is  an  odd  number  of  bytes,  a  padding  byte  with  the  value  '0'  is  appended  after  the  ckData.  This padding byte is not included in the ckSize (chunk Size). ckData[ckSize] (chunk Data) can itself have a particular structure rather than being a simple byte array. That is, ckData itself may include a chunk (sub-chunk). In other words, chunks may be arranged hierarchically. Only certain chunks  are  allowed  to  contain  sub-chunks.  These  are  the  RIFF  chunk  and  LIST  chunk  described  later  below. Generally two or more sub-chunks may be contained in these chunks. All other chunks store only one binary data element in the ckData. (2) RIFF Form   A "RIFF form" is a chunk with "RIFF" as its chunk ID (ckID); it is also used to mean a file format with the RIFF structure (RIFF file).   A  "RIFF  chunk"  ckData  (chunk  data)  consists  of  a  4-character  code  at  the  beginning  called  the  formType  (form type), followed by a sub-chunk.   A RIFF chunk is at the top of the chunk hierarchy. A RIFF form shall have this chunk, but may have only one. All other chunks are sub-chunks of the RIFF chunk. A form type is generally a code identifying the data contents, among other things. It is also possible to tell from this code what kind of sub-chunk a chunk contains. A form type shall be registered. A registered form type is written in all upper-case letters. Along with a form type, a chunk ID (ckID) shall also be registered. A chunk ID in all upper-case letters indicates a general-purpose chunk that may be used with various form  types. A chunk ID used with a specific form type is written in all lower-case letters.