The title of this article should probably read “Kilobytes vs Kibibytes and why I hate them”, even the more technically capable of you who stumble across this blog may never have heard of a Kibibyte, I know for a fact that my spellchecker hasn’t and is busy angrily highlighting it right now to let me know what a fool I am for even typing it!
What Is A Kibibyte?
A Kibibyte is 1024 bytes, where a byte is 8 binary digits. This makes a lot of sense because everything in computing is done in base 2 and 2^10 is 1024. To answer what may or may not be your next question, yes, there is also a Mebibyte which is 1024 Kibibytes or 2^20 byte, a Gibibyte which is 2^30 bytes, as well as a Tebibyte and a Pebibyte which are 2^40 and 2^50 bytes respectively.
But I Thought That Was A Kilobyte?
Well yes and no, yes if you are any normal human being who is not obsessed with making the world any more of a confusing place than it already is, no if you are the International Electrotechnical Commission (IEC) or if you are a major search engine like Google or Duck Duck Go, both of which will follow the IEC standards if you ask them how many bytes are in a kilobyte.
To be fair, honestly, this makes a lot of sense since prefixes like kilo and mega have a standard definition which is based on multiples of 1000. Hardware manufacturers have been using this standard for years when selling you a hard drive that stores 250GB or 1TB for example, those are both calculated of a base of 1000 bytes (1000^3 and 1000^4 respectively)
So What’s The Problem?
It’s confusing as hell! you see it on quiz shows when they ask people how many bytes in a kilobyte, they answer 1024 and then pull a face when they’re told they are wrong, because someone they have never heard of decided to change it back in 1998 without telling them.
It’s also not great for those of use in IT who are trying to troubleshoot an issue, for example an issue with file transfers that are getting truncated and we how have to ask ourselves if Windows, Mac, and Linux are using the same definition of a Kilobyte. I’ve come across situations when developing applications where we’ve been asked to report a number given in bytes as Gigabytes or Terabytes, we’ve then had to go back to the client and ask them how they define a Gigabyte or a Terabyte because we don’t want their client to think they are getting short changed when viewing the size of their virtual server disk.
It’s also worth pointing out that what may seem like a trivial difference at the level of Kilobytes or Megabytes gets more and more noticeable the higher up the chain you go. A 2TB storage drive for example will be 185GB different depending on which counting system you are using.
In short it’s not the calculation that bothers me, it’s the fact that it was changed and now no one knows what another person is talking about without checking, which in many way renders the whole system of abbreviation useless.
Still I suppose in 1000 years everyone will have caught up… or maybe 1024…