Serial.read question

I noticed today that if I do:

Serial.println(Serial.read());

that the number I put in, is not the same one that gets printed out. For example, if I send the number 1, it comes back as 49. 2 comes back as 50. 3 comes back as 51 etc... It does the same thing for letters. "a" comes back as 97, "b" comes back as 98 etc...

Why is this happening?
-Jordan

Serial.read() returns an "int", and therefore prints the decimal representation of the ascii code for whatever character you typed.
To get echoing, you should do:

Serial.print(Serial.read(), BYTE);