Binary file
<storage, operating system> A file containing
binary data, i.e.
arbitrary bytes or words, as opposed to a
text file containing only printable characters (e.g.
ASCII characters with codes 10, 13, and 32-126).
On modern operating systems a text file is simply a binary file that happens to contain only printable characters, but some older systems distinguish the two file types, requiring programs to handle them differently.
A common class of binary files is programs in
machine language ("
executable files") ready to load into memory and execute.
Binary files may also be used to store data output by a program, and intended to be read by that or another program but not by humans.
Binary files are more efficient for this purpose because the data (e.g. numerical data) does not need to be converted between the binary form used by the
CPU and a printable (ASCII) representation.
The disadvantage is that it is usually necessary to write special purpose programs to manipulate such files since most general purpose utilities operate on text files.
There is also a problem sharing binary numerical data between processors with different endianness.
Some communications protocols handle only text files, e.g. most
electronic mail systems before
MIME became widespread in about 1995.
The
FTP utility must be put into "binary" mode in order to copy a binary file since in its default "ascii" mode translates between the different text line terminator characters used on the sending and receiving computers.
Confusingly, some files produced by wordprocessors, and rich text files, are actually binary files because they contain non-printable characters and require special programs to view, edit, and print them.