ASCII Characters
What Are ASCII Characters
ASCII characters is a character set of 128 characters, each with a name and an integer ID (aka Unicode Codepoint).
- The character set includes printable characters and control characters.
- Printable Characters includes digits 0 to 9, letters A to Z uppercase and lowercase, punctuations. There are 95 printable characters.
- Control Characters are used to represent tab, start text, null, escape, bell (audio alert), end of line, end of file, end of transmission, abort, etc. Control Characters have ID 0 to 31, and 127. There are 33 control characters.
- ASCII character set is identical to Unicode characters with ID from from 0 to 127 inclusive, and each char also have the same ID.
- ASCII is abbreviation for American Standard Code for Information Interchange, created in 1960s.
- The ASCII characters can be represented by 7 binary digits. So its sometimes called 7 bits ASCII.
ใsee Unicode: Character Set, Encoding, UTF-8, Codepointใ
Printable ASCII Characters
Here's the printable ASCII characters, in the order of their ID (aka codepoint):
!"#$%&'()*+,-./
0123456789
:;<=>?@
ABCDEFGHIJKLMNOPQRSTUVWXYZ
[\]^_`
abcdefghijklmnopqrstuvwxyz
{|}~
Representation of Control Characters
Control Characters have various notations.
- By their integer ID (codepoint) in decimal. (e.g. Carriage return is 13.)
- By codepoint in hexadecimal. (e.g. Carriage return is 0D.)
- By standardized abbrev. (e.g. Carriage return is CR.)
- By Unicode glyph. (e.g. Carriage return is โ.) ใsee Unicode: ASCII Control Characters โใ
- By caret notation. (e.g. Carriage return is ^M.) (Caret notation is heavily used in emacs. ใsee Emacs: Newline Conventionใ)
- In programing languages, some have C escape syntax in string. (e.g. Carriage return is \r.)
ASCII Table
Here's the complete ASCII table.
| ID | Hex | Abbr | Unicode Symbol | Caret Notation | C Escape Syntax | Description |
|---|---|---|---|---|---|---|
| 0 | 00 | NUL | โ | ^@ | \0 | Null character |
| 1 | 01 | SOH | โ | ^A | Start of Header | |
| 2 | 02 | STX | โ | ^B | Start of Text | |
| 3 | 03 | ETX | โ | ^C | End of Text | |
| 4 | 04 | EOT | โ | ^D | End of Transmission | |
| 5 | 05 | ENQ | โ | ^E | Enquiry | |
| 6 | 06 | ACK | โ | ^F | Acknowledgment | |
| 7 | 07 | BEL | โ โพ | ^G | \a | Bell |
| 8 | 08 | BS | โ | ^H | \b | Backspace |
| 9 | 09 | HT | โ | ^I | \t | Horizontal Tab |
| 10 | 0A | LF | โ | ^J | \n | Line feed |
| 11 | 0B | VT | โ | ^K | \v | Vertical Tab |
| 12 | 0C | FF | โ | ^L | \f | Form feed |
| 13 | 0D | CR | โ | ^M | \r | Carriage return |
| 14 | 0E | SO | โ | ^N | Shift Out | |
| 15 | 0F | SI | โ | ^O | Shift In | |
| 16 | 10 | DLE | โ | ^P | Data Link Escape | |
| 17 | 11 | DC1 | โ | ^Q | Device Control 1 (oft. XON) | |
| 18 | 12 | DC2 | โ | ^R | Device Control 2 | |
| 19 | 13 | DC3 | โ | ^S | Device Control 3 (oft. XOFF) | |
| 20 | 14 | DC4 | โ | ^T | Device Control 4 | |
| 21 | 15 | NAK | โ | ^U | Negative Acknowledgment | |
| 22 | 16 | SYN | โ | ^V | Synchronous Idle | |
| 23 | 17 | ETB | โ | ^W | End of Trans. Block | |
| 24 | 18 | CAN | โ | ^X | Cancel | |
| 25 | 19 | EM | โ | ^Y | End of Medium | |
| 26 | 1A | SUB | โ | ^Z | Substitute | |
| 27 | 1B | ESC | โ | ^[ | \e | Escape |
| 28 | 1C | FS | โ | ^\ | File Separator | |
| 29 | 1D | GS | โ | ^] | Group Separator | |
| 30 | 1E | RS | โ | ^^ | Record Separator | |
| 31 | 1F | US | โ | ^_ | Unit Separator | |
| ID | Hex | Abbr | Unicode Symbol | Caret Notation | C Escape Syntax | Description |
| 127 | 7F | DEL | โก | ^? | Delete |
| ID | char | hexadecimal and name |
|---|---|---|
| 32 | U+20: SPACE | |
| 33 | ! | U+21: EXCLAMATION MARK |
| 34 | " | U+22: QUOTATION MARK |
| 35 | # | U+23: NUMBER SIGN |
| 36 | $ | U+24: DOLLAR SIGN |
| 37 | % | U+25: PERCENT SIGN |
| 38 | & | U+26: AMPERSAN |
| 39 | ยด | U+B4: ACUTE ACCENT |
| 40 | ( | U+28: LEFT PARENTHESIS |
| 41 | ) | U+29: RIGHT PARENTHESIS |
| 42 | * | U+2A: ASTERISK |
| 43 | + | U+2B: PLUS SIGN |
| 44 | , | U+2C: COMMA |
| 45 | - | U+2D: HYPHEN-MINUS |
| 46 | . | U+2E: FULL STOP |
| 47 | / | U+2F: SOLIDUS |
| 48 | 0 | U+30: DIGIT ZERO |
| 49 | 1 | U+31: DIGIT ONE |
| 50 | 2 | U+32: DIGIT TWO |
| 51 | 3 | U+33: DIGIT THREE |
| 52 | 4 | U+34: DIGIT FOUR |
| 53 | 5 | U+35: DIGIT FIVE |
| 54 | 6 | U+36: DIGIT SIX |
| 55 | 7 | U+37: DIGIT SEVEN |
| 56 | 8 | U+38: DIGIT EIGHT |
| 57 | 9 | U+39: DIGIT NINE |
| 58 | : | U+3A: COLON |
| 59 | ; | U+3B: SEMICOLON |
| 60 | < | U+3C: LESS-THAN SIGN |
| 61 | = | U+3D: EQUALS SIGN |
| 62 | > | U+3E: GREATER-THAN SIGN |
| 63 | ? | U+3F: QUESTION MARK |
| 64 | @ | U+40: COMMERCIAL AT |
| 65 | A | U+41: LATIN CAPITAL LETTER A |
| 66 | B | U+42: LATIN CAPITAL LETTER B |
| 67 | C | U+43: LATIN CAPITAL LETTER C |
| 68 | D | U+44: LATIN CAPITAL LETTER D |
| 69 | E | U+45: LATIN CAPITAL LETTER E |
| 70 | F | U+46: LATIN CAPITAL LETTER F |
| 71 | G | U+47: LATIN CAPITAL LETTER G |
| 72 | H | U+48: LATIN CAPITAL LETTER H |
| 73 | I | U+49: LATIN CAPITAL LETTER I |
| 74 | J | U+4A: LATIN CAPITAL LETTER J |
| 75 | K | U+4B: LATIN CAPITAL LETTER K |
| 76 | L | U+4C: LATIN CAPITAL LETTER L |
| 77 | M | U+4D: LATIN CAPITAL LETTER M |
| 78 | N | U+4E: LATIN CAPITAL LETTER N |
| 79 | O | U+4F: LATIN CAPITAL LETTER O |
| 80 | P | U+50: LATIN CAPITAL LETTER P |
| 81 | Q | U+51: LATIN CAPITAL LETTER Q |
| 82 | R | U+52: LATIN CAPITAL LETTER R |
| 83 | S | U+53: LATIN CAPITAL LETTER S |
| 84 | T | U+54: LATIN CAPITAL LETTER T |
| 85 | U | U+55: LATIN CAPITAL LETTER U |
| 86 | V | U+56: LATIN CAPITAL LETTER V |
| 87 | W | U+57: LATIN CAPITAL LETTER W |
| 88 | X | U+58: LATIN CAPITAL LETTER X |
| 89 | Y | U+59: LATIN CAPITAL LETTER Y |
| 90 | Z | U+5A: LATIN CAPITAL LETTER Z |
| 91 | [ | U+5B: LEFT SQUARE BRACKET |
| 92 | \ | U+5C: REVERSE SOLIDUS |
| 93 | ] | U+5D: RIGHT SQUARE BRACKET |
| 94 | ^ | U+5E: CIRCUMFLEX ACCENT |
| 95 | _ | U+5F: LOW LINE |
| 96 | ` | U+60: GRAVE ACCENT |
| 97 | a | U+61: LATIN SMALL LETTER A |
| 98 | b | U+62: LATIN SMALL LETTER B |
| 99 | c | U+63: LATIN SMALL LETTER C |
| 100 | d | U+64: LATIN SMALL LETTER D |
| 101 | e | U+65: LATIN SMALL LETTER E |
| 102 | f | U+66: LATIN SMALL LETTER F |
| 103 | g | U+67: LATIN SMALL LETTER G |
| 104 | h | U+68: LATIN SMALL LETTER H |
| 105 | i | U+69: LATIN SMALL LETTER I |
| 106 | j | U+6A: LATIN SMALL LETTER J |
| 107 | k | U+6B: LATIN SMALL LETTER K |
| 108 | l | U+6C: LATIN SMALL LETTER L |
| 109 | m | U+6D: LATIN SMALL LETTER M |
| 110 | n | U+6E: LATIN SMALL LETTER N |
| 111 | o | U+6F: LATIN SMALL LETTER O |
| 112 | p | U+70: LATIN SMALL LETTER P |
| 113 | q | U+71: LATIN SMALL LETTER Q |
| 114 | r | U+72: LATIN SMALL LETTER R |
| 115 | s | U+73: LATIN SMALL LETTER S |
| 116 | t | U+74: LATIN SMALL LETTER T |
| 117 | u | U+75: LATIN SMALL LETTER U |
| 118 | v | U+76: LATIN SMALL LETTER V |
| 119 | w | U+77: LATIN SMALL LETTER W |
| 120 | x | U+78: LATIN SMALL LETTER X |
| 121 | y | U+79: LATIN SMALL LETTER Y |
| 122 | z | U+7A: LATIN SMALL LETTER Z |
| 123 | { | U+7B: LEFT CURLY BRACKET |
| 124 | | | U+7C: VERTICAL LINE |
| 125 | } | U+7D: RIGHT CURLY BRACKET |
| 126 | ~ | U+7E: TILDE |
ASCII Character Set Problems
- ASCII Characters
- Unicode: ASCII Control Characters โ
- Why You Need to Understand ASCII (2024)
- Programing Language: ASCII Char Jam vs Unicode (2011)
- Emacs Lisp Doc String Curly Quote Controversy (2015)
- Linux: Terminal Control Sequence Keys
- Stack Overflow offline page 2011-08-06
- Emacs: Newline Convention
- Emacs Key Notations Explained (/r, ^M, C-m, RET, <return>, M-, meta)
Binary, Hexadecimal
Unicode and Encoding Explained
- Unicode: Character Set, Encoding, UTF-8, Codepoint
- Unicode: Codepoint
- Unicode: Character Name
- ASCII Characters
- Unicode: UTF-8 Encoding
- Unicode: UTF-16 Encoding
- Unicode: Surrogate Pair
- Unicode: Byte Order (Endianness)
- Unicode: BOM, Byte Order Mark
- Set Text Editor File Encoding
- Unicode: Letter Character
- Unicode: Variation Selector