the following line is one of these keywords: V – valid NA – not available ERROR – error TRUE – true boolean value FALSE – false boolean value 1 – string type, the second number is ignored, the following line is the string in double quotes Header chunk A header chunk is composed of an identifier line followed by the two lines of a value. TABLE - a numeric value follows of the version, the disused second line of the value contains a generator comment VECTORS - the number of columns follows as a numeric value TUPLES - the number of rows follows as a numeric value DATA - after a dummy 0 numeric value, the data for the table follow, each row preceded by a BOT value, the entire table terminated by an EOD value The numeric values in header chunks use just an empty string instead of the validity keywords. Discrepancies in implementations Some implementations (notably those of older Microsoft products) swapped the meaning of VECTORS and TUPLES. Some implementations are insensitive to errors in the dimensions of the table as written in the header and simply use the layout in the DATA section. Example For example, assume we have two columns with one column header row and two data rows: In a .dif file, this would be (→ indicates comments): TABLE 0,1 "EXCEL" VECTORS → the number of columns follows as a numeric value 0,2 → '0' indicates that it's a numeric type, '2' since we have 2 columns "" TUPLES → the number of rows follows as a numeric value 0,3 → '0' indicates that it's a numeric type, '3' since we have 3 rows "" DATA → after a dummy 0 numeric value, the data for the table follow 0,0 → this is the dummy 0 numeric value "" -1,0 → '-1' for the directive type. This is followed by either a 'BOT' or an 'EOD' BOT → signifies the start of a row 1,0 → '1' since the cell contains a string. (The second number is ignored) "Text" → this is the String that's in the cell 1,0 → '1' since the cell contains a string. "Number" -1,0 BOT → another row 1,0 → a string follows "hello" 0,1 → numeric value ('0') of value '1' V → 'V' is for 'Valid' -1,0 BOT → another row 1,0 "has a double quote "" in