Sometimes names and terms are pretty interchangeable and everyone understands what is being referred to without confusion, but then there are times when things are not so clear and leave you with more questions than answers. Today’s SuperUser Q&A post helps clarify things for a confused reader.
Today’s Question & Answer session comes to us courtesy of SuperUser—a subdivision of Stack Exchange, a community-driven grouping of Q&A web sites.
Hex editor screenshot courtesy of Rwxrwxrwx (Wikipedia).
SuperUser reader Joseph A. wants to know why hex editors are called binary editors:
Hex and binary are two different bases. Hex, as I understand it, is simply an “easier to use” version of binary and more convenient. However, I hear quite often that hex editors are binary editors. If you actually search for “binary editors” on Google, you get hex editors. Why is that? What is the connection?
Why are hex editors called or referred to as binary editors?
SuperUser contributors Steven and BarryTheHatchet have the answer for us. First up, Steven:
A binary editor edits a binary file. [Binary File – Wikipedia]
- A binary file is a computer file that is not a text 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.
A hex editor is a type of binary editor in which binary data is represented in hexadecimal form. [Hex Editor – Wikipedia]
- A hex editor (or binary file editor or byte editor) is a type of computer program that allows for manipulation of the fundamental binary data that constitutes a computer file. The name “hex” comes from “hexadecimal”, a standard numerical format for representing binary data.
Followed by the answer from BarryTheHatchet:
Terminology is hard and different people have all sorts of different names for things.
In this instance, it appears that the “hex” in “hex editor” refers to the conventional human-readable representation of each byte’s value, whereas the “binary” in “binary editor” refers to the notion that you are indeed editing the file at the byte level (computers store bytes in binary) without consideration for higher-level text encoding and the like. Recall that files not readily representable in higher-level text form are called “binary files” or “binaries” for the same reason.
Neither is technically incorrect, they just come at the naming problem from different angles. On a personal note, though, I would tend to agree that “binary editor” is confusing overall.
Have something to add to the explanation? Sound off in the comments. Want to read more answers from other tech-savvy Stack Exchange users? Check out the full discussion thread here.