Code
set classes { alnum alpha ascii boolean control digit double false graph integer lower print punct space true upper wordchar xdigit } proc classHeader { } { global classes puts "" set i 1 foreach class $classes { puts [format " %2s - %s" ${i} ${class}] incr i } puts "" puts -nonewline " " set i 1 foreach class $classes { puts -nonewline [format " %2s" ${i}] incr i } puts "" } proc reportClass { c } { global classes set result "" foreach class $classes { if { [string is ${class} ${c}] eq 1 } { append result " Y" } else { append result " N" } } return ${result} } proc main { } { classHeader for {set n 0} {$n<128} {incr n} { set c [format "%c" $n] if { [string is print ${c}] } { puts [format "%02X %1s %s" ${n} ${c} [reportClass ${c}]] } else { puts [format "%02X %s" $n [reportClass ${c}]] } } } main
EXAMPLE OUTPUT
1 - alnum 2 - alpha 3 - ascii 4 - boolean 5 - control 6 - digit 7 - double 8 - false 9 - graph 10 - integer 11 - lower 12 - print 13 - punct 14 - space 15 - true 16 - upper 17 - wordchar 18 - xdigit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 00 N N N N Y N N N N N N N N N N N N N 01 N N Y N Y N N N N N N N N N N N N N 02 N N Y N Y N N N N N N N N N N N N N 03 N N Y N Y N N N N N N N N N N N N N 04 N N Y N Y N N N N N N N N N N N N N 05 N N Y N Y N N N N N N N N N N N N N 06 N N Y N Y N N N N N N N N N N N N N 07 N N Y N Y N N N N N N N N N N N N N 08 N N Y N Y N N N N N N N N N N N N N 09 N N Y N Y N N N N N N N N Y N N N N 0A N N Y N Y N N N N N N N N Y N N N N 0B N N Y N Y N N N N N N N N Y N N N N 0C N N Y N Y N N N N N N N N Y N N N N 0D N N Y N Y N N N N N N N N Y N N N N 0E N N Y N Y N N N N N N N N N N N N N 0F N N Y N Y N N N N N N N N N N N N N 10 N N Y N Y N N N N N N N N N N N N N 11 N N Y N Y N N N N N N N N N N N N N 12 N N Y N Y N N N N N N N N N N N N N 13 N N Y N Y N N N N N N N N N N N N N 14 N N Y N Y N N N N N N N N N N N N N 15 N N Y N Y N N N N N N N N N N N N N 16 N N Y N Y N N N N N N N N N N N N N 17 N N Y N Y N N N N N N N N N N N N N 18 N N Y N Y N N N N N N N N N N N N N 19 N N Y N Y N N N N N N N N N N N N N 1A N N Y N Y N N N N N N N N N N N N N 1B N N Y N Y N N N N N N N N N N N N N 1C N N Y N Y N N N N N N N N N N N N N 1D N N Y N Y N N N N N N N N N N N N N 1E N N Y N Y N N N N N N N N N N N N N 1F N N Y N Y N N N N N N N N N N N N N 20 N N Y N N N N N N N N Y N Y N N N N 21 ! N N Y N N N N N Y N N Y Y N N N N N 22 " N N Y N N N N N Y N N Y Y N N N N N 23 # N N Y N N N N N Y N N Y Y N N N N N 24 $ N N Y N N N N N Y N N Y N N N N N N 25 % N N Y N N N N N Y N N Y Y N N N N N 26 & N N Y N N N N N Y N N Y Y N N N N N 27 ' N N Y N N N N N Y N N Y Y N N N N N 28 ( N N Y N N N N N Y N N Y Y N N N N N 29 ) N N Y N N N N N Y N N Y Y N N N N N 2A * N N Y N N N N N Y N N Y Y N N N N N 2B + N N Y N N N N N Y N N Y N N N N N N 2C , N N Y N N N N N Y N N Y Y N N N N N 2D - N N Y N N N N N Y N N Y Y N N N N N 2E . N N Y N N N N N Y N N Y Y N N N N N 2F / N N Y N N N N N Y N N Y Y N N N N N 30 0 Y N Y Y N Y Y Y Y Y N Y N N N N Y Y 31 1 Y N Y Y N Y Y N Y Y N Y N N Y N Y Y 32 2 Y N Y N N Y Y N Y Y N Y N N N N Y Y 33 3 Y N Y N N Y Y N Y Y N Y N N N N Y Y 34 4 Y N Y N N Y Y N Y Y N Y N N N N Y Y 35 5 Y N Y N N Y Y N Y Y N Y N N N N Y Y 36 6 Y N Y N N Y Y N Y Y N Y N N N N Y Y 37 7 Y N Y N N Y Y N Y Y N Y N N N N Y Y 38 8 Y N Y N N Y Y N Y Y N Y N N N N Y Y 39 9 Y N Y N N Y Y N Y Y N Y N N N N Y Y 3A : N N Y N N N N N Y N N Y Y N N N N N 3B ; N N Y N N N N N Y N N Y Y N N N N N 3C < N N Y N N N N N Y N N Y N N N N N N 3D = N N Y N N N N N Y N N Y N N N N N N 3E > N N Y N N N N N Y N N Y N N N N N N 3F ? N N Y N N N N N Y N N Y Y N N N N N 40 @ N N Y N N N N N Y N N Y Y N N N N N 41 A Y Y Y N N N N N Y N N Y N N N Y Y Y 42 B Y Y Y N N N N N Y N N Y N N N Y Y Y 43 C Y Y Y N N N N N Y N N Y N N N Y Y Y 44 D Y Y Y N N N N N Y N N Y N N N Y Y Y 45 E Y Y Y N N N N N Y N N Y N N N Y Y Y 46 F Y Y Y Y N N N Y Y N N Y N N N Y Y Y 47 G Y Y Y N N N N N Y N N Y N N N Y Y N 48 H Y Y Y N N N N N Y N N Y N N N Y Y N 49 I Y Y Y N N N N N Y N N Y N N N Y Y N 4A J Y Y Y N N N N N Y N N Y N N N Y Y N 4B K Y Y Y N N N N N Y N N Y N N N Y Y N 4C L Y Y Y N N N N N Y N N Y N N N Y Y N 4D M Y Y Y N N N N N Y N N Y N N N Y Y N 4E N Y Y Y Y N N N Y Y N N Y N N N Y Y N 4F O Y Y Y N N N N N Y N N Y N N N Y Y N 50 P Y Y Y N N N N N Y N N Y N N N Y Y N 51 Q Y Y Y N N N N N Y N N Y N N N Y Y N 52 R Y Y Y N N N N N Y N N Y N N N Y Y N 53 S Y Y Y N N N N N Y N N Y N N N Y Y N 54 T Y Y Y Y N N N N Y N N Y N N Y Y Y N 55 U Y Y Y N N N N N Y N N Y N N N Y Y N 56 V Y Y Y N N N N N Y N N Y N N N Y Y N 57 W Y Y Y N N N N N Y N N Y N N N Y Y N 58 X Y Y Y N N N N N Y N N Y N N N Y Y N 59 Y Y Y Y Y N N N N Y N N Y N N Y Y Y N 5A Z Y Y Y N N N N N Y N N Y N N N Y Y N 5B [ N N Y N N N N N Y N N Y Y N N N N N 5C \ N N Y N N N N N Y N N Y Y N N N N N 5D ] N N Y N N N N N Y N N Y Y N N N N N 5E ^ N N Y N N N N N Y N N Y N N N N N N 5F _ N N Y N N N N N Y N N Y Y N N N Y N 60 ` N N Y N N N N N Y N N Y N N N N N N 61 a Y Y Y N N N N N Y N Y Y N N N N Y Y 62 b Y Y Y N N N N N Y N Y Y N N N N Y Y 63 c Y Y Y N N N N N Y N Y Y N N N N Y Y 64 d Y Y Y N N N N N Y N Y Y N N N N Y Y 65 e Y Y Y N N N N N Y N Y Y N N N N Y Y 66 f Y Y Y Y N N N Y Y N Y Y N N N N Y Y 67 g Y Y Y N N N N N Y N Y Y N N N N Y N 68 h Y Y Y N N N N N Y N Y Y N N N N Y N 69 i Y Y Y N N N N N Y N Y Y N N N N Y N 6A j Y Y Y N N N N N Y N Y Y N N N N Y N 6B k Y Y Y N N N N N Y N Y Y N N N N Y N 6C l Y Y Y N N N N N Y N Y Y N N N N Y N 6D m Y Y Y N N N N N Y N Y Y N N N N Y N 6E n Y Y Y Y N N N Y Y N Y Y N N N N Y N 6F o Y Y Y N N N N N Y N Y Y N N N N Y N 70 p Y Y Y N N N N N Y N Y Y N N N N Y N 71 q Y Y Y N N N N N Y N Y Y N N N N Y N 72 r Y Y Y N N N N N Y N Y Y N N N N Y N 73 s Y Y Y N N N N N Y N Y Y N N N N Y N 74 t Y Y Y Y N N N N Y N Y Y N N Y N Y N 75 u Y Y Y N N N N N Y N Y Y N N N N Y N 76 v Y Y Y N N N N N Y N Y Y N N N N Y N 77 w Y Y Y N N N N N Y N Y Y N N N N Y N 78 x Y Y Y N N N N N Y N Y Y N N N N Y N 79 y Y Y Y Y N N N N Y N Y Y N N Y N Y N 7A z Y Y Y N N N N N Y N Y Y N N N N Y N 7B { N N Y N N N N N Y N N Y Y N N N N N 7C | N N Y N N N N N Y N N Y N N N N N N 7D } N N Y N N N N N Y N N Y Y N N N N N 7E ~ N N Y N N N N N Y N N Y N N N N N N 7F N N Y N Y N N N N N N N N N N N N N
Category Example | Category Characters | Category String Processing | Characters | Character