You seem to expect PuTTY to display things in hex, but it doesn't do that, at least not by default. It's meant for human-readable text. You can of course opt to send things in ASCII (i.e. convert the single byte 0 to e.g. "00" or "0x00" ), in your MCU application. To say it clearer, there is no such thing as a "hex value". ...
Why does putty need to convert text to bytes before sending?
As far as PuTTY is concerned, you are typing (and reading) text, not raw binary data, therefore it has to convert the text to bytes in whatever configured character set before sending it over the wire. ...
Why does putty display text with a bolded background colour?
When blinking text is disabled and the server attempts to make some text blink, PuTTY will instead display the text with a bolded background colour. Blinking text can be turned on and off by control sequences sent by the server. ...
How does putty send xterm?
On a Unix server, this selects an entry from the termcap or terminfo database that tells applications what control sequences to send to the terminal, and what character sequences to expect the keyboard to generate. PuTTY attempts to emulate the Unix xterm program, and by default it reflects this by sending xterm as a terminal-type string. ...