Character Codes in Decimal, Hex, and Octal

This page is an accessory to Multilingual Batch Programs

Characters 0 through 31 (decimal) are control codes and aren't usually considered displayable or printable, though some are useful for position control and signaling. Because of the complexity, it isn't reasonable to write a program to generate the entries for the control characters.

Control codes
Decimal -- Hexadecimal -- Octal
   000               00               000   NUL
   001               01               001   SOH
   002               02               002   STX
   003               03               003   ETX
   004               04               004   EOT
   005               05               005   ENQ
   006               06               006   ACK
   007               07               007   BEL (beep)
   008               08               010   BS (backspace)
   009               09               011   HT (Tab)
   010               0A               012   LF (line feed)
   011               0B               013   VT
   012               0C               014   FF
   013               0D               015   CR (carriage return, Enter)
   014               0E               016   SO
   015               0F               017   SI
   016               10               020   DLE
   017               11               021   DC1
   018               12               022   DC2
   019               13               023   DC3
   020               14               024   DC4
   021               15               025   NAK
   022               16               026   SYN
   023               17               027   ETB
   024               18               030   CAN
   025               19               031   EM
   026               1A               032   SUB (End of File mark in DOS)
   027               1B               033   ESC (Esc key)
   028               1C               034   FS (cursor right)
   029               1D               035   GS (cursor left)
   030               1E               036   RS (cursor up)
   031               1F               037   US (cursor down)



It is, however worth writing a script to generate the rest of the table - it's at the bottom of the page.

   032               20               040   " "
   033               21               041   "!"
   034               22               042   """
   035               23               043   "#"
   036               24               044   "$"
   037               25               045   "%"
   038               26               046   "&"
   039               27               047   "'"
   040               28               050   "("
   041               29               051   ")"
   042               2A               052   "*"
   043               2B               053   "+"
   044               2C               054   ","
   045               2D               055   "-"
   046               2E               056   "."
   047               2F               057   "/"
   048               30               060   "0"
   049               31               061   "1"
   050               32               062   "2"
   051               33               063   "3"
   052               34               064   "4"
   053               35               065   "5"
   054               36               066   "6"
   055               37               067   "7"
   056               38               070   "8"
   057               39               071   "9"
   058               3A               072   ":"
   059               3B               073   ";"
   060               3C               074   "<"
   061               3D               075   "="
   062               3E               076   ">"
   063               3F               077   "?"
   064               40               100   "@"
   065               41               101   "A"
   066               42               102   "B"
   067               43               103   "C"
   068               44               104   "D"
   069               45               105   "E"
   070               46               106   "F"
   071               47               107   "G"
   072               48               110   "H"
   073               49               111   "I"
   074               4A               112   "J"
   075               4B               113   "K"
   076               4C               114   "L"
   077               4D               115   "M"
   078               4E               116   "N"
   079               4F               117   "O"
   080               50               120   "P"
   081               51               121   "Q"
   082               52               122   "R"
   083               53               123   "S"
   084               54               124   "T"
   085               55               125   "U"
   086               56               126   "V"
   087               57               127   "W"
   088               58               130   "X"
   089               59               131   "Y"
   090               5A               132   "Z"
   091               5B               133   "["
   092               5C               134   "\"
   093               5D               135   "]"
   094               5E               136   "^"
   095               5F               137   "_"
   096               60               140   "`"
   097               61               141   "a"
   098               62               142   "b"
   099               63               143   "c"
   100               64               144   "d"
   101               65               145   "e"
   102               66               146   "f"
   103               67               147   "g"
   104               68               150   "h"
   105               69               151   "i"
   106               6A               152   "j"
   107               6B               153   "k"
   108               6C               154   "l"
   109               6D               155   "m"
   110               6E               156   "n"
   111               6F               157   "o"
   112               70               160   "p"
   113               71               161   "q"
   114               72               162   "r"
   115               73               163   "s"
   116               74               164   "t"
   117               75               165   "u"
   118               76               166   "v"
   119               77               167   "w"
   120               78               170   "x"
   121               79               171   "y"
   122               7A               172   "z"
   123               7B               173   "{"
   124               7C               174   "|"
   125               7D               175   "}"
   126               7E               176   "~"
   127               7F               177   (non-printing or font specific)
   128               80               200   (non-printing or font specific)
   129               81               201   (non-printing or font specific)
   130               82               202   (non-printing or font specific)
   131               83               203   (non-printing or font specific)
   132               84               204   (non-printing or font specific)
   133               85               205   (non-printing or font specific)
   134               86               206   (non-printing or font specific)
   135               87               207   (non-printing or font specific)
   136               88               210   (non-printing or font specific)
   137               89               211   (non-printing or font specific)
   138               8A               212   (non-printing or font specific)
   139               8B               213   (non-printing or font specific)
   140               8C               214   (non-printing or font specific)
   141               8D               215   (non-printing or font specific)
   142               8E               216   (non-printing or font specific)
   143               8F               217   (non-printing or font specific)
   144               90               220   (non-printing or font specific)
   145               91               221   (non-printing or font specific)
   146               92               222   (non-printing or font specific)
   147               93               223   (non-printing or font specific)
   148               94               224   (non-printing or font specific)
   149               95               225   (non-printing or font specific)
   150               96               226   (non-printing or font specific)
   151               97               227   (non-printing or font specific)
   152               98               230   (non-printing or font specific)
   153               99               231   (non-printing or font specific)
   154               9A               232   (non-printing or font specific)
   155               9B               233   (non-printing or font specific)
   156               9C               234   (non-printing or font specific)
   157               9D               235   (non-printing or font specific)
   158               9E               236   (non-printing or font specific)
   159               9F               237   (non-printing or font specific)
   160               A0               240   (non-printing or font specific)
   161               A1               241   (non-printing or font specific)
   162               A2               242   (non-printing or font specific)
   163               A3               243   (non-printing or font specific)
   164               A4               244   (non-printing or font specific)
   165               A5               245   (non-printing or font specific)
   166               A6               246   (non-printing or font specific)
   167               A7               247   (non-printing or font specific)
   168               A8               250   (non-printing or font specific)
   169               A9               251   (non-printing or font specific)
   170               AA               252   (non-printing or font specific)
   171               AB               253   (non-printing or font specific)
   172               AC               254   (non-printing or font specific)
   173               AD               255   (non-printing or font specific)
   174               AE               256   (non-printing or font specific)
   175               AF               257   (non-printing or font specific)
   176               B0               260   (non-printing or font specific)
   177               B1               261   (non-printing or font specific)
   178               B2               262   (non-printing or font specific)
   179               B3               263   (non-printing or font specific)
   180               B4               264   (non-printing or font specific)
   181               B5               265   (non-printing or font specific)
   182               B6               266   (non-printing or font specific)
   183               B7               267   (non-printing or font specific)
   184               B8               270   (non-printing or font specific)
   185               B9               271   (non-printing or font specific)
   186               BA               272   (non-printing or font specific)
   187               BB               273   (non-printing or font specific)
   188               BC               274   (non-printing or font specific)
   189               BD               275   (non-printing or font specific)
   190               BE               276   (non-printing or font specific)
   191               BF               277   (non-printing or font specific)
   192               C0               300   (non-printing or font specific)
   193               C1               301   (non-printing or font specific)
   194               C2               302   (non-printing or font specific)
   195               C3               303   (non-printing or font specific)
   196               C4               304   (non-printing or font specific)
   197               C5               305   (non-printing or font specific)
   198               C6               306   (non-printing or font specific)
   199               C7               307   (non-printing or font specific)
   200               C8               310   (non-printing or font specific)
   201               C9               311   (non-printing or font specific)
   202               CA               312   (non-printing or font specific)
   203               CB               313   (non-printing or font specific)
   204               CC               314   (non-printing or font specific)
   205               CD               315   (non-printing or font specific)
   206               CE               316   (non-printing or font specific)
   207               CF               317   (non-printing or font specific)
   208               D0               320   (non-printing or font specific)
   209               D1               321   (non-printing or font specific)
   210               D2               322   (non-printing or font specific)
   211               D3               323   (non-printing or font specific)
   212               D4               324   (non-printing or font specific)
   213               D5               325   (non-printing or font specific)
   214               D6               326   (non-printing or font specific)
   215               D7               327   (non-printing or font specific)
   216               D8               330   (non-printing or font specific)
   217               D9               331   (non-printing or font specific)
   218               DA               332   (non-printing or font specific)
   219               DB               333   (non-printing or font specific)
   220               DC               334   (non-printing or font specific)
   221               DD               335   (non-printing or font specific)
   222               DE               336   (non-printing or font specific)
   223               DF               337   (non-printing or font specific)
   224               E0               340   (non-printing or font specific)
   225               E1               341   (non-printing or font specific)
   226               E2               342   (non-printing or font specific)
   227               E3               343   (non-printing or font specific)
   228               E4               344   (non-printing or font specific)
   229               E5               345   (non-printing or font specific)
   230               E6               346   (non-printing or font specific)
   231               E7               347   (non-printing or font specific)
   232               E8               350   (non-printing or font specific)
   233               E9               351   (non-printing or font specific)
   234               EA               352   (non-printing or font specific)
   235               EB               353   (non-printing or font specific)
   236               EC               354   (non-printing or font specific)
   237               ED               355   (non-printing or font specific)
   238               EE               356   (non-printing or font specific)
   239               EF               357   (non-printing or font specific)
   240               F0               360   (non-printing or font specific)
   241               F1               361   (non-printing or font specific)
   242               F2               362   (non-printing or font specific)
   243               F3               363   (non-printing or font specific)
   244               F4               364   (non-printing or font specific)
   245               F5               365   (non-printing or font specific)
   246               F6               366   (non-printing or font specific)
   247               F7               367   (non-printing or font specific)
   248               F8               370   (non-printing or font specific)
   249               F9               371   (non-printing or font specific)
   250               FA               372   (non-printing or font specific)
   251               FB               373   (non-printing or font specific)
   252               FC               374   (non-printing or font specific)
   253               FD               375   (non-printing or font specific)
   254               FE               376   (non-printing or font specific)
   255               FF               377   (non-printing or font specific)





Here's the AWK script that generated the above table for characters 32 through 255. The page would have looked better and taken fewer bytes if I had made it a table, but I prefer simplicity and universality (and brute force). CHARCODE.AWK
BEGIN{
S1 = "<DD>&nbsp;&nbsp;&nbsp;"
S2 = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
S3 = "&nbsp;&nbsp;&nbsp;"
    for( i = 32; i < 256; i++ ) {
        if( i < 127 ){
            printf( "%s%03d%s%02X%s%03o%s\"%c\"\n",S1, i, S2, i, S2, i, S3, i )
        }
        else {
            printf( "%s%03d%s%02X%s%03o%s(non-printing or font specific)\n",S1, i, S2, i, S2, i, S3 )
        }
     }
    exit
}
It should be fairly clear that S1, S2, and S3 are string variables of different lengths used to space out the items in the list, and that they replace the "%s" markers in the printf() commands, but the markers for the numbers may need a bit of discussion. "The AWK book" and much other documentation on AWK languages seem to assume that the reader is already somewhat familiar with printf() from working in C, so they provide only very dense information. For example, "The AWK book" describes the "width" parameter (the number between the "%" and the marker character) this way: "pad field to this width as needed; leading 0 pads with zeros" - you have to examine the illustration table to discover what that means. Here, "%03d" causes the the number to be substituted (i in this case) to appear as a decimal integer with exactly three characters, up to two of which may be leading zero padding, and "%02X" causes the number to appear as an unsigned hexadecimal number having exactly two characters with the letters used in hex numbers (A-F) in upper case. "x" instead of "X" would make the characters appear in lower case. "%03o" creates three digit unsigned octal numbers. "%3d", "%2X", and "%3o" would pad the numbers with leading spaces instead of zeros.




  ** Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001 Ted Davis - see License, included by reference. ** 

Input and feedback from readers are welcome. NOTE: the subject of the message must contain the word "batch" for the message to get past the spam filter.

Back to the Table of Contents page

Back to my personal links page - back to my home page