I have seen "1M" mean 1,000,000 bytes as well as 1,048,576bytes and 1,024,000 bytes.  I believe the best policy is to use "megabyte" to mean 2^20 (1,048,576) bytes.  Kb always means 1024 bytes, even when a lot people round it, so I like the K spec best.  I also see value in having human readable data.  The spec should nail down these details.