Binary file

Binary file
A hex dump of the 318 byte Wikipedia favicon, or Wikipedia's W.svg. The first column numerates the line's starting address, while the * indicates repetition.

A binary file is a computer file which may contain any type of data, encoded in binary form for computer storage and processing purposes; for example, computer document files containing formatted text. Many binary file formats contain parts that can be interpreted as text; binary files that contain only textual data—without, for example, any formatting information—are called plain text files. In many cases, plain text files are considered to be different from binary files because binary files are made up of more than just plain text. When downloading, a completely functional program without any installer is also often called program binary, or binaries (as opposed to the source code).



Unlike Text files, there is no special character present in the binary mode files to mark End-of-file. The binary mode files keep track of the end-of-file from number of characters present in the dictionary entry of the file. Binary files are usually thought of as being a sequence of bytes, which means the binary digits (bits) are grouped in eights. Binary files typically contain bytes that are intended to be interpreted as something other than text characters. Compiled computer programs are typical examples; indeed, compiled applications (object files) are sometimes referred to, particularly by programmers, as binaries. But binary files can also contain images, sounds, compressed versions of other files, etc. — in short, any type of file content whatsoever.

Some binary files contain headers, blocks of metadata used by a computer program to interpret the data in the file. For example, a GIF file can contain multiple images, and headers are used to identify and describe each block of image data. If a binary file does not contain any headers, it may be called a flat binary file. But the presence of headers are also commom in plain text files, like email and html files.


To send binary files through certain systems (such as e-mail) that do not allow all data values, they are often translated into a plain text representation (using, for example, Base64). Encoding the data has the disadvantage of increasing the file size during the transfer (for example, using Base64 will increase the file's size by approximately 30%), as well as requiring translation back into binary after receipt. The increased size may be countered by lower-level link compression, as the resulting text data will have about as much less entropy as it has increased size, so the actual data transferred in this scenario would likely be very close to the size of the original binary data. See Binary-to-text encoding for more on this subject.

Microsoft Windows and its standard libraries allow the programmer to specify a parameter indicating if a file is expected to be plain text or binary when opening a file; this affects the standard library calls to read and write from the file in that the system converts between the "line break" character (the ASCII linefeed character) and the line break sequence the operating system expects applications to use in files (the linefeed and carriage return characters in sequence). Unix also allows this, but there are no distinctions between text and binary files for the system to make, as Unix only uses a single line feed character to store a line break in files. This reflects the fact that the distinction between the two types of files is to a certain extent arbitrary.


A hex editor or viewer may be used to view file data as a sequence of hexadecimal (or decimal, binary or ASCII character) values for corresponding bytes of a binary file.

If a binary file is opened in a text editor, each group of eight bits will typically be translated as a single character, and you will see a (probably unintelligible) display of textual characters. If the file is opened in some other application, that application will have its own use for each byte: maybe the application will treat each byte as a number and output a stream of numbers between 0 and 255 — or maybe interpret the numbers in the bytes as colors and display the corresponding picture. If the file is itself treated as an executable and run, then the operating system will attempt to interpret the file as a series of instructions in its machine language.


Standards are very important to binary files. For example, a binary file interpreted by the ASCII character set will result in text being displayed. A custom application can interpret the file differently, a byte may be a sound, or a pixel, or even an entire word. Binary itself is meaningless, until such time as an executed algorithm defines what should be done with each bit, byte, word or block. Thus, just examining the binary and attempting to match it against known formats can lead to the wrong conclusion as to what it actually represents. This fact can be used in steganography, where an algorithm interprets a binary data file differently to reveal hidden content. Without the algorithm, it is impossible to tell that hidden content exists.

Binary compatibility

Two files that are binary compatible will have the same pattern of zeros and ones in the data portion of the file. The file header, however, may be different.

The term is used most commonly to state that data files produced by one application are exactly the same as data files produced by another application. For example, some software companies produce applications for Windows and the Macintosh that are binary compatible, which means that a file produced in a Windows environment is interchangeable with a file produced on a Macintosh. This avoids many of the conversion problems caused by importing and exporting data.

See also

External links

Wikimedia Foundation. 2010.

Look at other dictionaries:

  • binary file — An executable file (that is, a file consisting of a computer program rather than simply text) which is designed to be read by a given program. Practical Law Dictionary. Glossary of UK, US and international legal terms. 2010 …   Law dictionary

  • Binary File —   [engl.], Binärdatei …   Universal-Lexikon

  • binary file —    A file consisting of binary information. Usually, a binary file is a program or data file in machine readable form rather than in human readable ASCII text. You can convert a binary file into a textbased form so that you can transmit it over… …   Dictionary of networking

  • binary file — dvejetainis failas statusas T sritis informatika apibrėžtis Failas, turintis ↑baitų, kurių bet kuri bitų kombinacija (ir ↑valdymo kodai!) gali būti panaudota duomenims koduoti. Tai dvejetainiai skaičiai, ↑kompiuterine kalba išreikštos… …   Enciklopedinis kompiuterijos žodynas

  • binary file — (Computers) file which contains data or instructions for a program (as opposed to a text file) …   English contemporary dictionary

  • binary file — noun (computer science) a computer file containing machine readable information that must be read by an application; characters use all 8 bits of each byte • Topics: ↑computer science, ↑computing • Hypernyms: ↑computer file …   Useful english dictionary

  • Binary File Descriptor library — The BFD, or Binary File Descriptor library, is the GNU Project s main mechanism for the portable manipulation of object files in a variety of formats. As of 2003, it supports approximately 50 file formats for some 25 processor architectures.BFD… …   Wikipedia

  • File viewer — A file viewer is application software that presents the data stored in a computer file in a human friendly form. The file contents are generally displayed on the screen, or they may be printed. Also, they may be read aloud using speech synthesis …   Wikipedia

  • Binary XML — For information on the generalized binary file format, see Extensible Binary Meta Language. Binary XML, or Binary Extensible Markup Language, refers to any specification which defines the compact representation of XML in a binary format. While… …   Wikipedia

  • File shortcut — A file shortcut in Microsoft Windows is a small file containing a target URI or GUID to an object, or the name of a target program file that the shortcut represents. The shortcut might additionally specify parameters to be passed to the target… …   Wikipedia