Character, hex, octal, decimal. The C source is at the end.
^@   \x00 \000   0 
^A   \x01 \001   1 
^B   \x02 \002   2 
^C   \x03 \003   3 
^D   \x04 \004   4 
^E   \x05 \005   5 
^F   \x06 \006   6 
^G   \x07 \007   7 
^H   \x08 \010   8 
^I   \x09 \011   9 
^J   \x0a \012  10 
^K   \x0b \013  11 
^L   \x0c \014  12 
^M   \x0d \015  13 
^N   \x0e \016  14 
^O   \x0f \017  15 
^P   \x10 \020  16 
^Q   \x11 \021  17 
^R   \x12 \022  18 
^S   \x13 \023  19 
^T   \x14 \024  20 
^U   \x15 \025  21 
^V   \x16 \026  22 
^W   \x17 \027  23 
^X   \x18 \030  24 
^Y   \x19 \031  25 
^Z   \x1a \032  26 
^[   \x1b \033  27 
^\   \x1c \034  28 
^]   \x1d \035  29 
^^   \x1e \036  30 
^_   \x1f \037  31 
     \x20 \040  32 
 !   \x21 \041  33 
 "   \x22 \042  34 
 #   \x23 \043  35 
 $   \x24 \044  36 
 %   \x25 \045  37 
 &   \x26 \046  38 
 '   \x27 \047  39 
 (   \x28 \050  40 
 )   \x29 \051  41 
 *   \x2a \052  42 
 +   \x2b \053  43 
 ,   \x2c \054  44 
 -   \x2d \055  45 
 .   \x2e \056  46 
 /   \x2f \057  47 
 0   \x30 \060  48 
 1   \x31 \061  49 
 2   \x32 \062  50 
 3   \x33 \063  51 
 4   \x34 \064  52 
 5   \x35 \065  53 
 6   \x36 \066  54 
 7   \x37 \067  55 
 8   \x38 \070  56 
 9   \x39 \071  57 
 :   \x3a \072  58 
 ;   \x3b \073  59 
 <   \x3c \074  60 
 =   \x3d \075  61 
 >   \x3e \076  62 
 ?   \x3f \077  63 
 @   \x40 \100  64 
 A   \x41 \101  65 
 B   \x42 \102  66 
 C   \x43 \103  67 
 D   \x44 \104  68 
 E   \x45 \105  69 
 F   \x46 \106  70 
 G   \x47 \107  71 
 H   \x48 \110  72 
 I   \x49 \111  73 
 J   \x4a \112  74 
 K   \x4b \113  75 
 L   \x4c \114  76 
 M   \x4d \115  77 
 N   \x4e \116  78 
 O   \x4f \117  79 
 P   \x50 \120  80 
 Q   \x51 \121  81 
 R   \x52 \122  82 
 S   \x53 \123  83 
 T   \x54 \124  84 
 U   \x55 \125  85 
 V   \x56 \126  86 
 W   \x57 \127  87 
 X   \x58 \130  88 
 Y   \x59 \131  89 
 Z   \x5a \132  90 
 [   \x5b \133  91 
 \   \x5c \134  92 
 ]   \x5d \135  93 
 ^   \x5e \136  94 
 _   \x5f \137  95 
 `   \x60 \140  96 
 a   \x61 \141  97 
 b   \x62 \142  98 
 c   \x63 \143  99 
 d   \x64 \144 100 
 e   \x65 \145 101 
 f   \x66 \146 102 
 g   \x67 \147 103 
 h   \x68 \150 104 
 i   \x69 \151 105 
 j   \x6a \152 106 
 k   \x6b \153 107 
 l   \x6c \154 108 
 m   \x6d \155 109 
 n   \x6e \156 110 
 o   \x6f \157 111 
 p   \x70 \160 112 
 q   \x71 \161 113 
 r   \x72 \162 114 
 s   \x73 \163 115 
 t   \x74 \164 116 
 u   \x75 \165 117 
 v   \x76 \166 118 
 w   \x77 \167 119 
 x   \x78 \170 120 
 y   \x79 \171 121 
 z   \x7a \172 122 
 {   \x7b \173 123 
 |   \x7c \174 124 
 }   \x7d \175 125 
 ~   \x7e \176 126 
    \x7f \177 127
#include <stdio.h>
#include <stdlib.h>

main()
{
  int x;
  for (x = 0; x< 128; x++)
    if (x < 32)
      printf("^%-3c \\x%2.2x \\%3.3o %3d\n", x+64, x, x, x);
    else
      printf("\x20%-3c \\x%2.2x \\%3.3o %3d\n", x, x, x, x);
  fflush(stdout);
  system("cat ascii.c");
}