Alex Mercer has kB and kiB reversed.
"k", kilo, is the universally accepted metric prefix meaning "thousands", where thousand has the meaning you expect, 1,000. Similarly, M, mega, is millions (thousand × thousand); G, giga, is billions (million × thousand); T, tera, is trillions (billion × thousand); and so on.
When referring to computer storage, such as hard disks, flash drives, memory cards, k, M, G, and T have the above meanings, so that an 8 GB flash drive contains very close to 8,000,000,000 bytes.
In the previous applications, the multiplier is always 1,000. A confusion in multipliers occurs when speaking of the type of physical memory installed on a motherboard. The binary nature of computers requires that the number of memory locations be some power of two, instead of a multiple of 1,000.
The power of 2 nearest 1000 is 2^10, which equals 1,024, and so kilo was understood to mean 1,024 when describing memory capacity. Similarly, M was taken to mean 1024 × 1024 (1,048,576), and G to mean 1024 × 1024 × 1024 (1,073,741,824).
The confusion in usage of k, M, G, etc., led to the introduction of binary prefixes. Kilo, mega, giga, etc., would always indicate decimal (metric) multipliers, while kibi, mebi, and gibi would have the binary meanings (which is meant by "bi", of course). The abbreviated terms are ki = 1,024; Mi = 1,048,576, Gi = 1,073,741,824, etc.
[ NOTE: Windows still isn't onboard, though. When reporting disk storage capacity, it still calculates with binary quantities. For example, a hard disk described by the manufacturer as 100 GB is reported in Windows as 93.1 GB, leading the user to think 7 GB has gone missing. ]