import string | |
def chr_or_question_mark( c ): | |
if chr(c) in string.printable and c < 128 and c not in ( 0x09, 0x0b, 0x0c ): | |
return chr(c) | |
else: | |
return '?' | |
char_translation_table = string.maketrans( | |
''.join( map( chr, range(0, 256) ) ) | |
, ''.join( map( chr_or_question_mark, range(0, 256) ) ) | |
) |