Those values do not represent a character. They merely are the generated sequence of characters when you press a special key on a terminal. For example if you cast read on a terminal like this:
Once you press a key you'll notice that the output will be something like '<escape char>[B'.
If you echo the value of REPLY, the output will just be the same:
You'll find that it will just be similar to the echo you're after:
If you really want to produce the up or down arrow
character you should do this:
Code:
echo -n $'\030' # up arrow key
echo -n $'\031' # down arrow key
The characters that are shown might also depend on the terminal you have.
Reference:
http://classicteck.com/maxdev/ascii.html