Units of information, like “megabyte” or “Mb”, are often used inconsistently. It would be helpful to agree on some standard usage. Below is an old proposal of mine that tried, as much as possible, to be unambiguous, useful, and compatible with existing practice. The result was not particularly satisfying. I'm now inclined to think that there is no solution better than using expressions like 2^20 and 10^6 when precision is needed.
There is, however, an international standard, though I haven't heard of anyone using it. It specifies that the traditional prefixes, like kilo, mega, giga, always mean powers of ten; for powers of two the second syllable is replaced with “bi”, yielding kibi, mebi, gibi, etc. The abbreviated forms are Ki, Mi, Gi, etc. (simply append “i”, except k becomes Ki not ki).
Markus Kuhn wrote another proposal designed to be compatible with the SI units.
My old proposal follows.
meaning abbr. pronunciation bit bit 2^10 bits kbit kilobit 2^20 bits Mbit megabit 2^30 bits Gbit gigabit 2^40 bits Tbit terabit 2^50 bits Pbit petabit 2^60 bits Ebit exabit 2^70 bits Zbit zettabit 2^80 bits Ybit yottabit 8 bits byte byte 2^10 bytes kbyte kilobyte 2^10 bytes K or kB kay or kilobyte 2^20 bytes Mbyte megabyte 2^30 bytes Gbyte gigabyte 2^40 bytes Tbyte terabyte 2^50 bytes Pbyte petabyte 2^60 bytes Ebyte exabyte 2^70 bytes Zbyte zettabyte 2^80 bytes Ybyte yottabyte 10^6 bytes M or MB meg 10^9 bytes G or GB gig (hard g, not like jig) 10^12 bytes T or TB ter (pronounced like tear) 10^15 bytes P or PB pet 10^18 bytes E or EB ex 10^21 bytes Z or ZB zet 10^24 bytes Y or YB yot bit/s bps bit(s)-per-second or bee-pee-ess 10^3 bit/s kbps kilo-bit(s)-per-second or kilo-bee-pee-ess 10^6 bit/s Mbps mega-bit(s)-per-second or mega-bee-pee-ess 10^9 bit/s Gbps giga-bit(s)-per-second or giga-bee-pee-ess 10^12 bit/s Tbps tera-bit(s)-per-second or tera-bee-pee-ess 10^15 bit/s Pbps peta-bit(s)-per-second or peta-bee-pee-ess 10^18 bit/s Ebps exa-bit(s)-per-second or exa-bee-pee-ess 10^21 bit/s Zbps zetta-bit(s)-per-second or zetta-bee-pee-ess 10^24 bit/s Ybps yotta-bit(s)-per-second or yotta-bee-pee-ess
Appending /s (pronounced “per second”) to any byte unit abbreviation is straightforward and unambiguous. Appending /s to a bit unit is unambiguous when written (a Mbit/s is a megabit per second, not a mega(bit-per-second)), but there is no unambiguous pronunciation, because of the bps units. Luckily, in practice data rates using bit units are almost always in powers of 10.