 // 0 is allowed char
 // 1 is ignored char
 // 2 is forbidden char
 
    2, 2, 2, 2, 2, 2, 2, 2,     //   0-  7: NUL SOH STX ETX EOT ENQ ACK BEL
    2, 2, 2, 2, 2, 2, 2, 2,     //   8- 15: BS HT LF VT FF CR SO SI
    2, 2, 2, 2, 2, 2, 2, 2,     //  16- 23: DLE DC1 DC2 DC3 DC4 NAK SYN ETB
    2, 2, 2, 2, 2, 2, 2, 2,     //  24- 31: CAN EM SUB ESC FS GS RS US
    2, 0, 0, 0, 0, 0, 0, 0,     //  32- 39: sp ! " # $ % & '  
    0, 0, 0, 0, 0, 0, 0, 0,     //  40- 47: ( ) * + , - . /   
    0, 0, 0, 0, 0, 0, 0, 0,     //  48- 55: 0 1 2 3 4 5 6 7
    0, 0, 0, 0, 0, 0, 0, 0,     //  56- 63: 8 9 : ; < = > ?
    0, 0, 0, 0, 0, 0, 0, 0,     //  64- 71: @ A B C D E F G
    0, 0, 0, 0, 0, 0, 0, 0,     //  72- 79: H I J K L M N O
    0, 0, 0, 0, 0, 0, 0, 0,     //  80- 87: P Q R S T U V W
    0, 0, 0, 0, 0, 0, 0, 0,     //  88- 95: X Y Z [ \ ] ^ _    
    0, 0, 0, 0, 0, 0, 0, 0,     //  96-103: ` a b c d e f g
    0, 0, 0, 0, 0, 0, 0, 0,     // 104-111: h i j k l m n o
    0, 0, 0, 0, 0, 0, 0, 0,     // 112-119: p q r s t u v w
    0, 0, 0, 0, 0, 0, 0, 2,     // 120-127: x y z { | } ~ DEL
    0, 0, 0, 0, 0, 0, 0, 0,     // 128-135: iso area C1
    0, 0, 0, 0, 0, 0, 0, 0,     // 136-143: iso area C1
    0, 0, 0, 0, 0, 0, 0, 0,     // 144-151: iso area C1
    0, 0, 0, 0, 0, 0, 0, 0,     // 152-159: iso area C1
    0, 0, 0, 0, 0, 0, 0, 0,     // 160-167:
    0, 0, 0, 0, 0, 0, 0, 0,     // 168-175:
    0, 0, 0, 0, 0, 0, 0, 0,     // 176-183:
    0, 0, 0, 0, 0, 0, 0, 0,     // 184-191:
    0, 0, 0, 0, 0, 0, 0, 0,     // 192-199:
    0, 0, 0, 0, 0, 0, 0, 0,     // 200-207:
    0, 0, 0, 0, 0, 0, 0, 0,     // 208-215:
    0, 0, 0, 0, 0, 0, 0, 0,     // 216-223:
    0, 0, 0, 0, 0, 0, 0, 0,     // 224-231:
    0, 0, 0, 0, 0, 0, 0, 0,     // 232-239:
    0, 0, 0, 0, 0, 0, 0, 0,     // 240-247:
    0, 0, 0, 0, 0, 0, 0, 0      // 248-255: