Much ado about 24 bytes
Sometimes in life there are questions with no clear answers. How many bytes in a kilobyte is one of those questions. Is it 1000 or 1024? It really depends on whom you ask. For better or worse we chose to use 1000 for a kilobyte and for 1024 we chose the IEC standard kibibyte. Read on for why we came to this decision.
There is no proper definition for a kilobyte. Most people think it’s 1024 bytes, however a number of organizations (IEC, IEEE, ISO, Drive Manufacturers, etc..) claim 1000. So we are left with a tough choice. Pick the value people expect or pick the value that the standards suggest. We’ve had similar questions to this in the past (like how many days in a year?) and I’ve always gone the way of the standard bodies. In this particular case, I thought long and hard about which way to go. I personally prefer a 1024 byte kilobyte, however if we had done that, what would we have called a 1000 byte block? Well, turns out that there is no alternative name for a 1000 bytes other then a kilobyte. On the other hand, a kibibyte is recognized as a 1024 byte block without any sort of ambiguity. So given all of that, I think the 1000 byte kilobyte was the least worst choice we could make.
Now I think one could argue that maybe the kilobyte should’ve been disabled and the kibibyte should be enabled by default. Of course the problem there is we’d end up getting a million emails with, “Where’s kilobyte?” or “What’s a kibibyte?” Maybe we should’ve just split the difference and used a 1012 byte kilobyte, so everyone would complain.