Skip to content

Instantly share code, notes, and snippets.

@codebrainz
Created October 13, 2012 07:20
Show Gist options
  • Save codebrainz/3883648 to your computer and use it in GitHub Desktop.
Save codebrainz/3883648 to your computer and use it in GitHub Desktop.
ASCII Characters
------------------------------------------------------------------------------
| Dec | Oct | Hex | Binary | Asc | Description |
------------------------------------------------------------------------------
| 0 | 0000 | 00 | 00000000 | NUL | Null char |
| 1 | 0001 | 01 | 00000001 | SOH | Start of Heading |
| 2 | 0002 | 02 | 00000010 | STX | Start of Text |
| 3 | 0003 | 03 | 00000011 | ETX | End of Text |
| 4 | 0004 | 04 | 00000100 | EOT | End of Transmission |
| 5 | 0005 | 05 | 00000101 | ENQ | Enquiry |
| 6 | 0006 | 06 | 00000110 | ACK | Acknowledgment |
| 7 | 0007 | 07 | 00000111 | BEL | Bell |
| 8 | 0010 | 08 | 00001000 | BS | Back Space |
| 9 | 0011 | 09 | 00001001 | HT | Horizontal Tab |
| 10 | 0012 | 0A | 00001010 | LF | Line Feed |
| 11 | 0013 | 0B | 00001011 | VT | Vertical Tab |
| 12 | 0014 | 0C | 00001100 | FF | Form Feed |
| 13 | 0015 | 0D | 00001101 | CR | Carriage Return |
| 14 | 0016 | 0E | 00001110 | SO | Shift Out / X-On |
| 15 | 0017 | 0F | 00001111 | SI | Shift In / X-Off |
| 16 | 0020 | 10 | 00010000 | DLE | Data Line Escape |
| 17 | 0021 | 11 | 00010001 | DC1 | Device Control 1 (oft. XON) |
| 18 | 0022 | 12 | 00010010 | DC2 | Device Control 2 |
| 19 | 0023 | 13 | 00010011 | DC3 | Device Control 3 (oft. XOFF) |
------------------------------------------------------------------------------
| Dec | Oct | Hex | Binary | Asc | Description |
------------------------------------------------------------------------------
| 20 | 0024 | 14 | 00010100 | DC4 | Device Control 4 |
| 21 | 0025 | 15 | 00010101 | NAK | Negative Acknowledgement |
| 22 | 0026 | 16 | 00010110 | SYN | Synchronous Idle |
| 23 | 0027 | 17 | 00010111 | ETB | End of Transmit Block |
| 24 | 0030 | 18 | 00011000 | CAN | Cancel |
| 25 | 0031 | 19 | 00011001 | EM | End of Medium |
| 26 | 0032 | 1A | 00011010 | SUB | Substitute |
| 27 | 0033 | 1B | 00011011 | ESC | Escape |
| 28 | 0034 | 1C | 00011100 | FS | File Separator |
| 29 | 0035 | 1D | 00011101 | GS | Group Separator |
| 30 | 0036 | 1E | 00011110 | RS | Record Separator |
| 31 | 0037 | 1F | 00011111 | US | Unit Separator |
| 32 | 0040 | 20 | 00100000 | | Space |
| 33 | 0041 | 21 | 00100001 | ! | Exclamation mark |
| 34 | 0042 | 22 | 00100010 | " | Double quotes (or speech marks) |
| 35 | 0043 | 23 | 00100011 | # | Number |
| 36 | 0044 | 24 | 00100100 | $ | Dollar |
| 37 | 0045 | 25 | 00100101 | % | Procenttecken |
| 38 | 0046 | 26 | 00100110 | & | Ampersand |
| 39 | 0047 | 27 | 00100111 | ' | Single quote |
------------------------------------------------------------------------------
| Dec | Oct | Hex | Binary | Asc | Description |
------------------------------------------------------------------------------
| 40 | 0050 | 28 | 00101000 | ( | Open parenthesis (or open bracket) |
| 41 | 0051 | 29 | 00101001 | ) | Close parenthesis (or close bracket) |
| 42 | 0052 | 2A | 00101010 | * | Asterisk |
| 43 | 0053 | 2B | 00101011 | + | Plus |
| 44 | 0054 | 2C | 00101100 | , | Comma |
| 45 | 0055 | 2D | 00101101 | - | Hyphen |
| 46 | 0056 | 2E | 00101110 | . | Period, dot or full stop |
| 47 | 0057 | 2F | 00101111 | / | Slash or divide |
| 48 | 0060 | 30 | 00110000 | 0 | Zero |
| 49 | 0061 | 31 | 00110001 | 1 | One |
| 50 | 0062 | 32 | 00110010 | 2 | Two |
| 51 | 0063 | 33 | 00110011 | 3 | Three |
| 52 | 0064 | 34 | 00110100 | 4 | Four |
| 53 | 0065 | 35 | 00110101 | 5 | Five |
| 54 | 0066 | 36 | 00110110 | 6 | Six |
| 55 | 0067 | 37 | 00110111 | 7 | Seven |
| 56 | 0070 | 38 | 00111000 | 8 | Eight |
| 57 | 0071 | 39 | 00111001 | 9 | Nine |
| 58 | 0072 | 3A | 00111010 | : | Colon |
| 59 | 0073 | 3B | 00111011 | ; | Semicolon |
------------------------------------------------------------------------------
| Dec | Oct | Hex | Binary | Asc | Description |
------------------------------------------------------------------------------
| 60 | 0074 | 3C | 00111100 | < | Less than (or open angled bracket) |
| 61 | 0075 | 3D | 00111101 | = | Equals |
| 62 | 0076 | 3E | 00111110 | > | Greater than (or close angled bracket) |
| 63 | 0077 | 3F | 00111111 | ? | Question mark |
| 64 | 0100 | 40 | 01000000 | @ | At symbol |
| 65 | 0101 | 41 | 01000001 | A | Uppercase A |
| 66 | 0102 | 42 | 01000010 | B | Uppercase B |
| 67 | 0103 | 43 | 01000011 | C | Uppercase C |
| 68 | 0104 | 44 | 01000100 | D | Uppercase D |
| 69 | 0105 | 45 | 01000101 | E | Uppercase E |
| 70 | 0106 | 46 | 01000110 | F | Uppercase F |
| 71 | 0107 | 47 | 01000111 | G | Uppercase G |
| 72 | 0110 | 48 | 01001000 | H | Uppercase H |
| 73 | 0111 | 49 | 01001001 | I | Uppercase I |
| 74 | 0112 | 4A | 01001010 | J | Uppercase J |
| 75 | 0113 | 4B | 01001011 | K | Uppercase K |
| 76 | 0114 | 4C | 01001100 | L | Uppercase L |
| 77 | 0115 | 4D | 01001101 | M | Uppercase M |
| 78 | 0116 | 4E | 01001110 | N | Uppercase N |
| 79 | 0117 | 4F | 01001111 | O | Uppercase O |
------------------------------------------------------------------------------
| Dec | Oct | Hex | Binary | Asc | Description |
------------------------------------------------------------------------------
| 80 | 0120 | 50 | 01010000 | P | Uppercase P |
| 81 | 0121 | 51 | 01010001 | Q | Uppercase Q |
| 82 | 0122 | 52 | 01010010 | R | Uppercase R |
| 83 | 0123 | 53 | 01010011 | S | Uppercase S |
| 84 | 0124 | 54 | 01010100 | T | Uppercase T |
| 85 | 0125 | 55 | 01010101 | U | Uppercase U |
| 86 | 0126 | 56 | 01010110 | V | Uppercase V |
| 87 | 0127 | 57 | 01010111 | W | Uppercase W |
| 88 | 0130 | 58 | 01011000 | X | Uppercase X |
| 89 | 0131 | 59 | 01011001 | Y | Uppercase Y |
| 90 | 0132 | 5A | 01011010 | Z | Uppercase Z |
| 91 | 0133 | 5B | 01011011 | [ | Opening bracket |
| 92 | 0134 | 5C | 01011100 | \ | Backslash |
| 93 | 0135 | 5D | 01011101 | ] | Closing bracket |
| 94 | 0136 | 5E | 01011110 | ^ | Caret - circumflex |
| 95 | 0137 | 5F | 01011111 | _ | Underscore |
| 96 | 0140 | 60 | 01100000 | ` | Grave accent |
| 97 | 0141 | 61 | 01100001 | a | Lowercase a |
| 98 | 0142 | 62 | 01100010 | b | Lowercase b |
| 99 | 0143 | 63 | 01100011 | c | Lowercase c |
------------------------------------------------------------------------------
| Dec | Oct | Hex | Binary | Asc | Description |
------------------------------------------------------------------------------
| 100 | 0144 | 64 | 01100100 | d | Lowercase d |
| 101 | 0145 | 65 | 01100101 | e | Lowercase e |
| 102 | 0146 | 66 | 01100110 | f | Lowercase f |
| 103 | 0147 | 67 | 01100111 | g | Lowercase g |
| 104 | 0150 | 68 | 01101000 | h | Lowercase h |
| 105 | 0151 | 69 | 01101001 | i | Lowercase i |
| 106 | 0152 | 6A | 01101010 | j | Lowercase j |
| 107 | 0153 | 6B | 01101011 | k | Lowercase k |
| 108 | 0154 | 6C | 01101100 | l | Lowercase l |
| 109 | 0155 | 6D | 01101101 | m | Lowercase m |
| 110 | 0156 | 6E | 01101110 | n | Lowercase n |
| 111 | 0157 | 6F | 01101111 | o | Lowercase o |
| 112 | 0160 | 70 | 01110000 | p | Lowercase p |
| 113 | 0161 | 71 | 01110001 | q | Lowercase q |
| 114 | 0162 | 72 | 01110010 | r | Lowercase r |
| 115 | 0163 | 73 | 01110011 | s | Lowercase s |
| 116 | 0164 | 74 | 01110100 | t | Lowercase t |
| 117 | 0165 | 75 | 01110101 | u | Lowercase u |
| 118 | 0166 | 76 | 01110110 | v | Lowercase v |
| 119 | 0167 | 77 | 01110111 | w | Lowercase w |
------------------------------------------------------------------------------
| Dec | Oct | Hex | Binary | Asc | Description |
------------------------------------------------------------------------------
| 120 | 0170 | 78 | 01111000 | x | Lowercase x |
| 121 | 0171 | 79 | 01111001 | y | Lowercase y |
| 122 | 0172 | 7A | 01111010 | z | Lowercase z |
| 123 | 0173 | 7B | 01111011 | { | Opening brace |
| 124 | 0174 | 7C | 01111100 | | | Vertical bar |
| 125 | 0175 | 7D | 01111101 | } | Closing brace |
| 126 | 0176 | 7E | 01111110 | ~ | Equivalency sign - tilde |
| 127 | 0177 | 7F | 01111111 | DEL | Delete |
------------------------------------------------------------------------------
#include <stdio.h>
static struct {
const char *oct;
const char *hex;
const char *bin;
const char *asc;
const char *desc;
} ascii_table[128] = {
{ "000", "00", "00000000", "NUL", "Null char" },
{ "001", "01", "00000001", "SOH", "Start of Heading" },
{ "002", "02", "00000010", "STX", "Start of Text" },
{ "003", "03", "00000011", "ETX", "End of Text" },
{ "004", "04", "00000100", "EOT", "End of Transmission" },
{ "005", "05", "00000101", "ENQ", "Enquiry" },
{ "006", "06", "00000110", "ACK", "Acknowledgment" },
{ "007", "07", "00000111", "BEL", "Bell" },
{ "010", "08", "00001000", "BS", "Back Space" },
{ "011", "09", "00001001", "HT", "Horizontal Tab" },
{ "012", "0A", "00001010", "LF", "Line Feed" },
{ "013", "0B", "00001011", "VT", "Vertical Tab" },
{ "014", "0C", "00001100", "FF", "Form Feed" },
{ "015", "0D", "00001101", "CR", "Carriage Return" },
{ "016", "0E", "00001110", "SO", "Shift Out / X-On" },
{ "017", "0F", "00001111", "SI", "Shift In / X-Off" },
{ "020", "10", "00010000", "DLE", "Data Line Escape" },
{ "021", "11", "00010001", "DC1", "Device Control 1 (oft. XON)" },
{ "022", "12", "00010010", "DC2", "Device Control 2" },
{ "023", "13", "00010011", "DC3", "Device Control 3 (oft. XOFF)" },
{ "024", "14", "00010100", "DC4", "Device Control 4" },
{ "025", "15", "00010101", "NAK", "Negative Acknowledgement" },
{ "026", "16", "00010110", "SYN", "Synchronous Idle" },
{ "027", "17", "00010111", "ETB", "End of Transmit Block" },
{ "030", "18", "00011000", "CAN", "Cancel" },
{ "031", "19", "00011001", "EM", "End of Medium" },
{ "032", "1A", "00011010", "SUB", "Substitute" },
{ "033", "1B", "00011011", "ESC", "Escape" },
{ "034", "1C", "00011100", "FS", "File Separator" },
{ "035", "1D", "00011101", "GS", "Group Separator" },
{ "036", "1E", "00011110", "RS", "Record Separator" },
{ "037", "1F", "00011111", "US", "Unit Separator" },
{ "040", "20", "00100000", " ", "Space" },
{ "041", "21", "00100001", "!", "Exclamation mark" },
{ "042", "22", "00100010", "\"", "Double quotes (or speech marks)" },
{ "043", "23", "00100011", "#", "Number" },
{ "044", "24", "00100100", "$", "Dollar" },
{ "045", "25", "00100101", "%", "Procenttecken" },
{ "046", "26", "00100110", "&", "Ampersand" },
{ "047", "27", "00100111", "'", "Single quote" },
{ "050", "28", "00101000", "(", "Open parenthesis (or open bracket)" },
{ "051", "29", "00101001", ")", "Close parenthesis (or close bracket)" },
{ "052", "2A", "00101010", "*", "Asterisk" },
{ "053", "2B", "00101011", "+", "Plus" },
{ "054", "2C", "00101100", ",", "Comma" },
{ "055", "2D", "00101101", "-", "Hyphen" },
{ "056", "2E", "00101110", ".", "Period, dot or full stop" },
{ "057", "2F", "00101111", "/", "Slash or divide" },
{ "060", "30", "00110000", "0", "Zero" },
{ "061", "31", "00110001", "1", "One" },
{ "062", "32", "00110010", "2", "Two" },
{ "063", "33", "00110011", "3", "Three" },
{ "064", "34", "00110100", "4", "Four" },
{ "065", "35", "00110101", "5", "Five" },
{ "066", "36", "00110110", "6", "Six" },
{ "067", "37", "00110111", "7", "Seven" },
{ "070", "38", "00111000", "8", "Eight" },
{ "071", "39", "00111001", "9", "Nine" },
{ "072", "3A", "00111010", ":", "Colon" },
{ "073", "3B", "00111011", ";", "Semicolon" },
{ "074", "3C", "00111100", "<", "Less than (or open angled bracket)" },
{ "075", "3D", "00111101", "=", "Equals" },
{ "076", "3E", "00111110", ">", "Greater than (or close angled bracket)" },
{ "077", "3F", "00111111", "?", "Question mark" },
{ "100", "40", "01000000", "@", "At symbol" },
{ "101", "41", "01000001", "A", "Uppercase A" },
{ "102", "42", "01000010", "B", "Uppercase B" },
{ "103", "43", "01000011", "C", "Uppercase C" },
{ "104", "44", "01000100", "D", "Uppercase D" },
{ "105", "45", "01000101", "E", "Uppercase E" },
{ "106", "46", "01000110", "F", "Uppercase F" },
{ "107", "47", "01000111", "G", "Uppercase G" },
{ "110", "48", "01001000", "H", "Uppercase H" },
{ "111", "49", "01001001", "I", "Uppercase I" },
{ "112", "4A", "01001010", "J", "Uppercase J" },
{ "113", "4B", "01001011", "K", "Uppercase K" },
{ "114", "4C", "01001100", "L", "Uppercase L" },
{ "115", "4D", "01001101", "M", "Uppercase M" },
{ "116", "4E", "01001110", "N", "Uppercase N" },
{ "117", "4F", "01001111", "O", "Uppercase O" },
{ "120", "50", "01010000", "P", "Uppercase P" },
{ "121", "51", "01010001", "Q", "Uppercase Q" },
{ "122", "52", "01010010", "R", "Uppercase R" },
{ "123", "53", "01010011", "S", "Uppercase S" },
{ "124", "54", "01010100", "T", "Uppercase T" },
{ "125", "55", "01010101", "U", "Uppercase U" },
{ "126", "56", "01010110", "V", "Uppercase V" },
{ "127", "57", "01010111", "W", "Uppercase W" },
{ "130", "58", "01011000", "X", "Uppercase X" },
{ "131", "59", "01011001", "Y", "Uppercase Y" },
{ "132", "5A", "01011010", "Z", "Uppercase Z" },
{ "133", "5B", "01011011", "[", "Opening bracket" },
{ "134", "5C", "01011100", "\\", "Backslash" },
{ "135", "5D", "01011101", "]", "Closing bracket" },
{ "136", "5E", "01011110", "^", "Caret - circumflex" },
{ "137", "5F", "01011111", "_", "Underscore" },
{ "140", "60", "01100000", "`", "Grave accent" },
{ "141", "61", "01100001", "a", "Lowercase a" },
{ "142", "62", "01100010", "b", "Lowercase b" },
{ "143", "63", "01100011", "c", "Lowercase c" },
{ "144", "64", "01100100", "d", "Lowercase d" },
{ "145", "65", "01100101", "e", "Lowercase e" },
{ "146", "66", "01100110", "f", "Lowercase f" },
{ "147", "67", "01100111", "g", "Lowercase g" },
{ "150", "68", "01101000", "h", "Lowercase h" },
{ "151", "69", "01101001", "i", "Lowercase i" },
{ "152", "6A", "01101010", "j", "Lowercase j" },
{ "153", "6B", "01101011", "k", "Lowercase k" },
{ "154", "6C", "01101100", "l", "Lowercase l" },
{ "155", "6D", "01101101", "m", "Lowercase m" },
{ "156", "6E", "01101110", "n", "Lowercase n" },
{ "157", "6F", "01101111", "o", "Lowercase o" },
{ "160", "70", "01110000", "p", "Lowercase p" },
{ "161", "71", "01110001", "q", "Lowercase q" },
{ "162", "72", "01110010", "r", "Lowercase r" },
{ "163", "73", "01110011", "s", "Lowercase s" },
{ "164", "74", "01110100", "t", "Lowercase t" },
{ "165", "75", "01110101", "u", "Lowercase u" },
{ "166", "76", "01110110", "v", "Lowercase v" },
{ "167", "77", "01110111", "w", "Lowercase w" },
{ "170", "78", "01111000", "x", "Lowercase x" },
{ "171", "79", "01111001", "y", "Lowercase y" },
{ "172", "7A", "01111010", "z", "Lowercase z" },
{ "173", "7B", "01111011", "{", "Opening brace" },
{ "174", "7C", "01111100", "|", "Vertical bar" },
{ "175", "7D", "01111101", "}", "Closing brace" },
{ "176", "7E", "01111110", "~", "Equivalency sign - tilde" },
{ "177", "7F", "01111111", "DEL", "Delete" },
};
int main()
{
int i;
int sep_cnt = 0;
const int sep_max = 20;
printf("------------------------------------------------------------------------------\n");
printf("| Dec | Oct | Hex | Binary | Asc | Description |\n");
printf("------------------------------------------------------------------------------\n");
for (i = 0; i < 128; i++) {
printf("| %3d | 0%3s | %-2s | %8s | %-3s | %-39s|\n",
i,
ascii_table[i].oct,
ascii_table[i].hex,
ascii_table[i].bin,
ascii_table[i].asc,
ascii_table[i].desc);
sep_cnt++;
if (sep_cnt == sep_max) {
sep_cnt = 0;
printf("------------------------------------------------------------------------------\n");
printf("| Dec | Oct | Hex | Binary | Asc | Description |\n");
printf("------------------------------------------------------------------------------\n");
}
}
printf("------------------------------------------------------------------------------\n");
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment