- Plain text
computing, plain text is a term used for an ordinary "unformatted" sequential file readable as textual material without much processing.
The encoding has traditionally been either
ASCII, one of its many derivatives such as ISO/IEC 646etc., or sometimes EBCDIC. No other encodings are used in plain text files which neither contain any (character-based) structural tags such as heading marks, nor any typographic markers like bold face, italics, etc. Unicodeis today gradually replacing the older ASCII derivatives limited to 7 or 8 bit codes. It will probably serve much the same purposes, but this time permitting almost any human language as well as important punctuation and symbols such as mathematical relations (≠ ≤ ≥ ≈), multiplication (× •), etc, which are not included in the very rudimentary and incomplete ASCII set.
The purpose of using "plain text" today is primarily a "lowest common denominator" independence from programs that require their very own special encoding or formatting (with due sacrifices and limitations). Plain text files can be opened, read, and edited with most
text editors. Examples include Notepad(Windows), edit ( DOS), ed, vior vim( Unix, Linux), SimpleText( Mac OS), or TextEdit( Mac OS X). Other computer programs are also capable of reading and importing plain text.It can also be used by simple computer tools such as line printing text commands like
type(DOS and Windows) and
Plain text files are almost universal in
programming; a source code file containing instructions in a programming languageis almost always a plain text file. Plain text is also commonly used for configuration files, who were read for saved settings at the startup of a program.
The related term,
plaintext, is most commonly used in a cryptographic context, while cleartextusually refers to lack of protection from eavesdropping. Usage of these terms is such that there is some confusion amongst them, especially among those new to computers, cryptography, or data communications.
This reveals that plain text is in fact the technical user's "way to regard" a file or a sequence of bytes. In this sense, there is no plain text, since bits are stored as states of latches, charges on transistor gates,
microscopicmagnetic or mechanicaldots on a disk, etc, and humans don't have the senses needed to read this. The information must thus "appear as text" (on screen or on paper) in order to "be text" in this absolute sense of the word.
Plain text is a way to represent
generictext without attributes such as fonts, subscripts, and boldface; due to this simplicity, it is readable and processable by almost "any" computer program. In a way a HTML, SGMLand an XMLfile "is regarded as" plain text, since no control codes (see below) are used, but real structural tags are actually included in these formats. As regards to the SGML and XML author, these tags are "human readable" since that format author understands the structure by reading the format. This may illuminate the complications of the usage of terms within computer science: it's all a relative view point.
Text was once commonly encoded in
ASCII, using 8 bitsfor one letter or other character, encoding 7 bits, allowing 128 values, and using the 8th as a checksum bit when transferring a file. This just allowed the ordinary Latinalphabet, transfer control codes, parentheses and interpunction, which annoyed especially Portuguese and SwedishFact|date=May 2008 computer users. Therefore, when data transfer became more stable, the remaining 128 values were encoded, everywhere differently, and in a way that made multilingual texts impossible to encode. At last Unicodewas defined, which currently allows for 1,114,112 code values used for any modern text writing system, and a lot of extinct ones. For example Unicode codes Chinese, Hebrew, Cyrillic as well as Latin. Some of these text formats may be pretty complicated to process correctly, but they still contain no structural data, such as bold start and end markers, and are therefore plain text.
The ASCII codes before
20H) are not intended as displayable characters, but instead as control characters. They are used for a diversity of interpreted meanings, for example the code
0, sometimes denoted
Ctrl-@) is used as string end markers in the programming language C and successors. Most troublesome of these are the codes
0DH). Windows and
OS/2require the sequence
CR,LFto represent a newline, while
Unixand relatives uses just the
, and Classic
Mac OS(but not Mac OS X) uses just the code
CR. This was once a slight problem when transferring files between Windows and Unices, but today most computer programs treat this seamlessly.
* MIME Content-type
Wikimedia Foundation. 2010.