==Byte size== 

 http://www.answers.com/topic/byte - answers.com gives good definition of byte. (or http://www.yourdictionary.com/byte). 

 So, real definition of byte is that it is a "basic unit of digital computer". On PC, this basic unit is 8 nowadays, but it used to be 7. Byte is unit, in which files or other data is measured on that specific computer - of course, you can simulate different data types anywhere, but on PC, most hardware data (except flags, which are still usually contained in 8^n bit tuples) is kept in memory area, which is n*8 bits, where n is integer. In cases when data is kept in smaller units, it is called "compressed" - and one piece of compressed units in assembly is usually still contained in 8*n memory area, at least when manipulated with assembler's base commands. 

 So, saying that 1KB must be 1000 bytes is correct, but measuring hardware sizes in bytes is correct only as long as you are using computer, which uses 8-bit characters. When utf-8 becomes more widespread, it's possible that 32-bit bytes will be used instead and this makes KB 4 times larger. So, KB is system-specific notation. Saying that byte is 8 bits would be as good as saying that word is 32 bits (or worse, that integers are 32 bits) - words have been both 16 and 32 bits depending if archidecture is 16 or 32 bits; on 64-bits archidecture it might happen that many languages start to refer 64-bit integers as "words". So, "word" simply means some datatype, which is native enough to do calculations on computer; byte mostly means smallest size of non-empty file or system-managed memory area.