In the International System of Quantities, the kilobyte (symbol kB) is 1000 bytes. The binary representation of 1024 bytes typically uses the symbol KB, using an upper-case K. Informally sometimes the B is dropped, making K generally understood as 1024 bytes; however, this usage is not standardized and may be found used arbitrarily. All existing recommendations prefer to use the uppercase letter B for byte, because b is used for the bit.
The unit kilobyte is commonly used to mean either 1000 or 1024 bytes. The value 1024 originated as compromise technical jargon for the byte multiples that needed to be expressed by powers of 2, but lacked a convenient name. As 1024 (210) approximates 1000 (103), roughly corresponding SI multiples were used for binary multiples. In 1998 the International Electrotechnical Commission (IEC) enacted standards for binary prefixes, specifying the use of kilobyte to strictly denote 1000 bytes and kibibyte to denote 1024 bytes. By 2007, the IEC Standard had been adopted by the IEEE, EU, and NIST and is now part of the International System of Quantities. Nevertheless, the term kilobyte continues to be widely used with both of the following two meanings:
1 KB (or KiB) = 1024bytes = 210 bytes is the definition used by most vendors of memory devices and software when referring to amounts of computer memory, such as Microsoft Windows and Linux. In the unambiguous IEC standard the unit for this amount of information is one kibibyte (KiB).
The HP 21MX real-time computer (1974) denoted 196,608 (which is 192×1024) as 196K, while the HP 3000 business computer (1973) denoted 131,072 (which is 128×1024) as 128K.
The Shugart SA-400 51⁄4-inch floppy disk (1976) held 109,375 bytes unformatted, and was advertised as 110 Kbyte, using the 1000 convention. Likewise, the 8-inch DEC RX01 floppy (1975) held 256,256 bytes formatted, and was advertised as 256k. On the other hand, the Tandon 51⁄4-inch DD floppy format (1978) held 368,640 (which is 360×1024) bytes, but was advertised as 360 KB, following the 1024 convention.
In December 1998, the IEC addressed such multiple usages and definitions by creating unique binary prefixes to denote multiples of 1024, such as “kibibyte (KiB)”, which represents 210, or 1024, bytes.
^Sharma, Kapil; Mohammed J.; Norton, Peter C. Norton; Good, Nathan; Steidler-Dennison, Tony (2005). Professional Red Hat Enterprise Linux 3. John Wiley & Sons. p. 134. "Disk manufacturers sell you their disks saying that a kilobyte is 1,000 bytes, that a megabyte is a thousand of those, and that a gigabyte is another thousand of those, giving you 1,000,000,000 bytes to a gigabyte when you buy a disk. The rest of the computer world, including the programmers who write Linux, thinks of a kilobyte as 1,024 bytes (2^10 bytes), a megabyte as 1,048,576 bytes (2^20), and a gigabyte as 1,073,741,824 bytes (2^30), which means that you're buying just a bit less than you might think."