- Do not even process characters which we aren't going to include.
- Move guard against non-ASCII inside the printable_chr function.
- Add a test to show that it doesn't handle queries which contain
non-ASCII characters.
- Add comments to clarify intent.
This is less clever than the previous version, which implies the
answer to my question from a previous commit.
Turns out that adding comments will actually make me do a slightly
better implementation! Who knew?!
- With code tags (thanks, @mintsoft!), we'll count on the user agent
rendering the codes slightly differently, so we do not need to style.
- Returning both 'pure ASCII' and 'html' representations.
The code layout now feels either slightly over-clever or slightly
under-clever and I am not sure which!
- Reduce the number of entered characters to 128, since we can't be sure
of the display width any more.
- Show "invisible characters" (unprintable + non-space whitespace) in a
special format