''American Standard Code for Information Interchange'' ASCII specifies the numerical encoding and meaning of 128 symbols, 95 printable characters and 33 control characters. The first letter of ASCII stands for '''American''', so there's no use complaining that the printable characters don't include various accented letters or non-English characters. (For those extra characters, you need another character set. Luckily there's many that do the job very nicely, like ISO 8859-1 for western european languages, which are also proper supersets of the ASCII set.) One very frequently-asked question is how one converts between display and numeric format for ASCII characters. [Scan] provides the usual answer ---- [RS]: Pure ASCII is a 7-bit encoding, covering byte values \x00..\x7F, so the "128 symbols" mentioned above have no room. But as the ASCII is at the core of iso8859-x encodings, Windows and Mac codepages, and even the Unicode, it's easy to extract this core for looking at the 94 printable characters: proc ascii {} { set res {} for {set i 33} {$i<127} {incr i} { append res "[format %2.2X:%c $i $i] " if {$i%16==0} {append res \n} } set res } 21:! 22:" 23:# 24:$ 25:% 26:& 27:' 28:( 29:) 2A:* 2B:+ 2C:, 2D:- 2E:. 2F:/ 30:0 31:1 32:2 33:3 34:4 35:5 36:6 37:7 38:8 39:9 3A:: 3B:; 3C:< 3D:= 3E:> 3F:? 40:@ 41:A 42:B 43:C 44:D 45:E 46:F 47:G 48:H 49:I 4A:J 4B:K 4C:L 4D:M 4E:N 4F:O 50:P 51:Q 52:R 53:S 54:T 55:U 56:V 57:W 58:X 59:Y 5A:Z 5B:[ 5C:\ 5D:] 5E:^ 5F:_ 60:` 61:a 62:b 63:c 64:d 65:e 66:f 67:g 68:h 69:i 6A:j 6B:k 6C:l 6D:m 6E:n 6F:o 70:p 71:q 72:r 73:s 74:t 75:u 76:v 77:w 78:x 79:y 7A:z 7B:{ 7C:| 7D:} 7E:~ ---- [[ [Category Acronym] ]]