8-bit clean describes a computer system that correctly handles 8-bit character sets, such as the ISO 8859 series and the UTF-8 encoding of Unicode.
Up to the early 1990s, many programs and data transmission channels assumed that all characters would be represented as numbers between 0 and 127 (7 bits). On computers and data links using [byte]s this left the top bit of each Byte free for use as a parity, flag bit, or meta data control bit. 7-bit systems and data links are unable to handle more complex character codes which are commonplace in non-English-speaking countries with larger alphabets.
Binary files cannot be transmitted through 7-bit data channels directly. To work around this, binary-to-text encodings have been devised which use only 7-bit ASCII characters. Some of these encodings are UUencoding, Ascii85, SREC, binhex, kermit and MIME's base64. EBCDIC-based systems cannot handle all characters used in UUencoded data. However, the base64 encoding does not have this problem.
Perhaps the final 7-bit restriction, primarily imposed due to the pervasive use of rs-232 protocol for serial ports between devices, notably computers and modems, was lifted in the mid-1990's when rs-232 was largely replaced with ethernet and with USB.
This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.
Full article ▸