First, there are two types of prefix when talking about digital information (read bytes): SI prefixes and binary prefixes.
SI prefixes
SI prefixes are powers of 1,000 (1,0001, 1,0002, 1,0003, etc.):
- 1 kB = 1 kilobyte = 1,0001 bytes = 1,000 bytes;
- 1 MB = 1 megabyte = 1,0002 bytes = 1,000,000 bytes;
- 1 GB = 1 gigabyte = 1,0003 bytes = 1,000,000,000 bytes;
- and so on.
As you can see, only SI symbols mega and above are capitalized. Therefore, KB is not a valid prefix.
Binary prefixes
Binary prefixes are powers of 1,024 (1,0241, 1,0242, 1,0243, etc.):
- 1 KiB = 1 kibibyte = 1,0241 bytes = 1,024 bytes;
- 1 MiB = 1 mebibyte = 1,0242 bytes = 1,048,576 bytes;
- 1 GiB = 1 gibibyte = 1,0243 bytes = 1,073,741,824 bytes;
- and so on.
As you can see here, every binary symbol is capitalized and an lower-case i is added before the B symbol to indicate that we are talking about kibibytes instead of kilobytes, mebibytes instead of megabytes, etc.
However, binary prefixes are not widely used, Windows doesn't use them at all.
What happens here is that Windows tells us that the hard disk drive has a capacity of 300,066,795,520 bytes which, according to Windows, equals 279 GB. However, we know that if 1,000,000,000 bytes = 1 GB, 300,066,795,520 bytes = ~300 GB = ~279.5 GiB.
Therefore, if you see 1 KB (which is wrong, remember) or 1 MB, assume we are talking respectively of 1 kibibyte and 1 mebibyte. Kb, kb, Gb, gb, etc. are also frequent, even though they represent bits (8 bits = 1 byte).
In fine, in no case can 1 KB or 1 MB have multiple values, even though the (bad) usage seems to tell the contrary.