Char generator

This can get enormously complicated, with latin1 in UTF-8 and non-Latin characters.
As a first implementation I propose ASCII (0-127) and printable ASCII (32-127) chars.
Will do a separate PR