|
`A` : `1000011` b
|
|
|
`0` : `0110000` b
|
|
|
`z` : `1111010` b
|
|
|
`@` : `1000000` b
|
|
|
`space` : `0100000` b
|
|
|
In addition, the :term:`ASCII` table also defines several non-printable or control characters. These characters were designed to allow an application to control a printer or a terminal. These control characters include `CR` and `LF`, that are used to terminate a line, and the `BEL` character which causes the terminal to emit a sound.
|
|
|
`NUL`: `0000000` b
|
|
|
`BEL`: `0000111` b
|
|
|
`CR` : `0001101` b
|
|
|
`LF` : `0001010` b
|
|
|
`DLE`: `0010000` b
|
|
|
`STX`: `0000010` b
|
|
|
`ETX`: `0000011` b
|
|
|
Some characters are used as markers to delineate the frame boundaries. Many `character stuffing` techniques use the `DLE`, `STX` and `ETX` characters of the ASCII character set. `DLE STX` (resp. `DLE ETX`) is used to mark the beginning (end) of a frame. When transmitting a frame, the sender adds a `DLE` character after each transmitted `DLE` character. This ensures that none of the markers can appear inside the transmitted frame. The receiver detects the frame boundaries and removes the second `DLE` when it receives two consecutive `DLE` characters. For example, to transmit frame `1 2 3 DLE STX 4`, a sender will first send `DLE STX` as a marker, followed by `1 2 3 DLE`. Then, the sender transmits an additional `DLE` character followed by `STX 4` and the `DLE ETX` marker.
|
|
|
**1** **2** **3** **4**
|
|
|
`DLE STX` **1** **2** **3** **4** `DLE ETX`
|
|
|
**1** **2** **3** **DLE** **STX** **4**
|
|
|
`DLE STX` **1** **2** **3** **DLE** `DLE` **STX** `4` `DLE ETX`
|
|
|
**DLE STX DLE ETX**
|
|
|
`DLE STX` **DLE** `DLE` **STX** **DLE** `DLE` ETX** `DLE ETX`
|
|