The figure above illistrates the following paragraph.
..."The magstripe begins with a string of Zero bit-cells to permit the self- clocking feature of biphase to "sync" and begin decoding. A "Start Sentinel" character then tells the reformatting process where to start grouping the decoded bitstream into groups of 5 bits each. At the end of the data, an "End Sentinel" is encountered, which is followed by an "Longitudinal Redundancy Check (LRC) character. The LRC is a parity check for the sums of all b1, b2, b3, and b4 data bits of all preceding characters. The LRC character will catch the remote error that could occur if an individual character had two compensating errors in its bit pattern (which would fool the 5th-bit parity check).
The START SENTINEL, END SENTINEL, and the LRC are collectively called "Framing Characters", and are discarded at the end of the reformatting process."...
Source: Phrack Magazine: Issue 37 Hexadecimal conversions of the Data Bits are given in parenthesis (xH)
The LSB ( below labeled here as b1 ) is read first in the track encoding bits.
Data Bit | Data Bit | Data Bit | Data Bit | Parity | ||
---|---|---|---|---|---|---|
b1 | b2 | b3 | b4 | b5 | Character | Function |
0 | 0 | 0 | 0 | 1 | 0 (0H) | Data |
1 | 0 | 0 | 0 | 0 | 1 (1H) | Data |
0 | 1 | 0 | 0 | 0 | 2 (2H) | Data |
1 | 1 | 0 | 0 | 1 | 3 (3H) | Data |
0 | 0 | 1 | 0 | 0 | 4 (4H) | Data |
1 | 0 | 1 | 0 | 1 | 5 (5H) | Data |
0 | 1 | 1 | 0 | 1 | 6 (6H) | Data |
1 | 1 | 1 | 0 | 0 | 7 (7H) | Data |
0 | 0 | 0 | 1 | 0 | 8 (8H) | Data |
1 | 0 | 0 | 1 | 1 | 9 (9H) | Data |
0 | 1 | 0 | 1 | 1 | : (AH) | Control |
1 | 1 | 0 | 1 | 0 | ; (BH) | Start Sentinel |
0 | 0 | 1 | 1 | 1 | < (CH) | Control |
1 | 0 | 1 | 1 | 0 | = (DH) | Field Separator |
0 | 1 | 1 | 1 | 0 | > (EH) | Control |
1 | 1 | 1 | 1 | 1 | ? (FH) | End Sentinel |