You are dumping the hexadecimal values of the ASCII codes of the characters in your string, since this is how they are stored in memory. 31 hex = ASCII '0', 32 hex = ASCII '1', etc.
Note that to convert an ASCII digit such as '0' to its corresponding byte value you need to subtract 0x30. Conversely you can convert a decimal digit stored as a byte to its equivalent ASCII character code by adding 0x30.