A binary file is a computer file that uses the binary number system to encode information. The file format specification for a binary file defines the binary sequence of bytes to be stored in the file, and does not require an encoding scheme for the file's text content.
In computing, binary refers to:
- Binary File: A file that does not contain human-readable text
- Executable: A binary file containing computer code
- Binary code: Data and text represented digitally.
How is a binary file used?
Binary files are used to store data and are often used in programming. The term "binary" refers to the file containing a sequence of 1s and 0s rather than letters or numbers like ASCII text. Binary files are usually created by compilers, translating source code into a machine-readable format that computers can understand.
Characteristics of a binary file
Binary files are made up of a sequence of bytes. The most common type of binary file is an executable object file. Other types include compressed archives, image files and intermediate files used in compilers. Binary files are usually stored in an uncompressed format to save storage space and time when transferring them across networks.
Binary functions are special functions that only accept binary data as input and return binary data as output. The main functions of binary are:
- Create: Create a new binary file with the given contents.
- Write: Write data to an existing file. The data can be specified as a String, an array or a Blob.
- Read: Read data from an existing file. The data is returned as an array containing the raw bytes of each line in the file (each line is separated by a newline character 'n').
When are binary file formats useful?
Binary file formats are most useful for storing raw data that isn’t intended to be interpreted by humans. This includes things like bitmaps, audio files, and video streams.
Binary formats are also useful when storing large amounts of data in a small space. This is especially true of image formats like JPEG and PNG, which compress the image into an efficient format that can still be decompressed on-the-fly by your computer.
Common problems with binary files
Binary files are used for many different types of data. However, they can also cause problems for users because they need help manipulating them by hand or programmatically. For example:
- Difficult to manipulate: A binary file contains only 0s and 1s; if you want to change one bit in the file, you must also change all other bits. This makes it difficult to edit or manipulate a binary file without damaging its contents.
- Inconsistent efficiency: Binary files usually have a fixed size; efficiency isn't always uniform across the entire file — some parts may be larger than others. This can make it difficult to read large amounts of information quickly from a binary file without slowing down your program's performance.
- Confusing for machines: Binary files are difficult for machines to understand and interpret correctly. This can lead to errors or unexpected behaviors like crashing applications or corrupting data structures.
Compare this to a text file, if you will. Text files can be encoded as ASCII, UTF-8 or other character encodings. Text files can also include all kinds of information besides text, such as images or sounds.
(Image courtesy: Wikipedia)