|
| 1 | +--- |
| 2 | +title: ASCII Chart |
| 3 | +cppdoc: |
| 4 | + keys: ["cpp.lang.ascii"] |
| 5 | +--- |
| 6 | + |
| 7 | +import { Desc, DescList, DocLink } from '@components/index'; |
| 8 | +import { Decl, DeclDoc } from "@components/decl-doc"; |
| 9 | + |
| 10 | +The following chart contains all 128 ASCII decimal <strong>(dec)</strong>, octal <strong>(oct)</strong>, hexadecimal <strong>(hex)</strong> and character <strong>(ch)</strong> codes. |
| 11 | + |
| 12 | +|dec|oct|hex|ch| |dec|oct|hex|ch| |dec|oct|hex|ch| | |
| 13 | +|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--| |
| 14 | +| 0 | 0 | 00 | NUL (null) | 32 | 40 | 20 | (space) | 64 | 100 | 40 | @ | 96 | 140 | 60 | ` | |
| 15 | +| 1 | 1 | 01 | SOH (start of header) | 33 | 41 | 21 | ! | 65 | 101 | 41 | A | 97 | 141 | 61 | a | |
| 16 | +| 2 | 2 | 02 | STX (start of text) | 34 | 42 | 22 | " | 66 | 102 | 42 | B | 98 | 142 | 62 | b | |
| 17 | +| 3 | 3 | 03 | ETX (end of text) | 35 | 43 | 23 | # | 67 | 103 | 43 | C | 99 | 143 | 63 | c | |
| 18 | +| 4 | 4 | 04 | EOT (end of transmission) | 36 | 44 | 24 | $ | 68 | 104 | 44 | D | 100 | 144 | 64 | d | |
| 19 | +| 5 | 5 | 05 | ENQ (enquiry) | 37 | 45 | 25 | % | 69 | 105 | 45 | E | 101 | 145 | 65 | e | |
| 20 | +| 6 | 6 | 06 | ACK (acknowledge) | 38 | 46 | 26 | & | 70 | 106 | 46 | F | 102 | 146 | 66 | f | |
| 21 | +| 7 | 7 | 07 | BEL (bell) | 39 | 47 | 27 | ' | 71 | 107 | 47 | G | 103 | 147 | 67 | g | |
| 22 | +| 8 | 10 | 08 | BS (backspace) | 40 | 50 | 28 | ( | 72 | 110 | 48 | H | 104 | 150 | 68 | h | |
| 23 | +| 9 | 11 | 09 | HT (horizontal tab) | 41 | 51 | 29 | ) | 73 | 111 | 49 | I | 105 | 151 | 69 | i | |
| 24 | +| 10 | 12 | 0a | LF (line feed - new line) | 42 | 52 | 2a | * | 74 | 112 | 4a | J | 106 | 152 | 6a | j | |
| 25 | +| 11 | 13 | 0b | VT (vertical tab) | 43 | 53 | 2b | + | 75 | 113 | 4b | K | 107 | 153 | 6b | k | |
| 26 | +| 12 | 14 | 0c | FF (form feed - new page) | 44 | 54 | 2c | , | 76 | 114 | 4c | L | 108 | 154 | 6c | l | |
| 27 | +| 13 | 15 | 0d | CR (carriage return) | 45 | 55 | 2d | - | 77 | 115 | 4d | M | 109 | 155 | 6d | m | |
| 28 | +| 14 | 16 | 0e | SO (shift out) | 46 | 56 | 2e | . | 78 | 116 | 4e | N | 110 | 156 | 6e | n | |
| 29 | +| 15 | 17 | 0f | SI (shift in) | 47 | 57 | 2f | / | 79 | 117 | 4f | O | 111 | 157 | 6f | o | |
| 30 | +| 16 | 20 | 10 | DLE (data link escape) | 48 | 60 | 30 | 0 | 80 | 120 | 50 | P | 112 | 160 | 70 | p | |
| 31 | +| 17 | 21 | 11 | DC1 (device control 1) | 49 | 61 | 31 | 1 | 81 | 121 | 51 | Q | 113 | 161 | 71 | q | |
| 32 | +| 18 | 22 | 12 | DC2 (device control 2) | 50 | 62 | 32 | 2 | 82 | 122 | 52 | R | 114 | 162 | 72 | r | |
| 33 | +| 19 | 23 | 13 | DC3 (device control 3) | 51 | 63 | 33 | 3 | 83 | 123 | 53 | S | 115 | 163 | 73 | s | |
| 34 | +| 20 | 24 | 14 | DC4 (device control 4) | 52 | 64 | 34 | 4 | 84 | 124 | 54 | T | 116 | 164 | 74 | t | |
| 35 | +| 21 | 25 | 15 | NAK (negative acknowledge) | 53 | 65 | 35 | 5 | 85 | 125 | 55 | U | 117 | 165 | 75 | u | |
| 36 | +| 22 | 26 | 16 | SYN (synchronous idle) | 54 | 66 | 36 | 6 | 86 | 126 | 56 | V | 118 | 166 | 76 | v | |
| 37 | +| 23 | 27 | 17 | ETB (end of transmission block) | 55 | 67 | 37 | 7 | 87 | 127 | 57 | W | 119 | 167 | 77 | w | |
| 38 | +| 24 | 30 | 18 | CAN (cancel) | 56 | 70 | 38 | 8 | 88 | 130 | 58 | X | 120 | 170 | 78 | x | |
| 39 | +| 25 | 31 | 19 | EM (end of medium) | 57 | 71 | 39 | 9 | 89 | 131 | 59 | Y | 121 | 171 | 79 | y | |
| 40 | +| 26 | 32 | 1a | SUB (substitute) | 58 | 72 | 3a | : | 90 | 132 | 5a | Z | 122 | 172 | 7a | z | |
| 41 | +| 27 | 33 | 1b | ESC (escape) | 59 | 73 | 3b | ; | 91 | 133 | 5b | [ | 123 | 173 | 7b | \{ | |
| 42 | +| 28 | 34 | 1c | FS (file separator) | 60 | 74 | 3c | \< | 92 | 134 | 5c | \\ | 124 | 174 | 7c | | | |
| 43 | +| 29 | 35 | 1d | GS (group separator) | 61 | 75 | 3d | = | 93 | 135 | 5d | ] | 125 | 175 | 7d | \} | |
| 44 | +| 30 | 36 | 1e | RS (record separator) | 62 | 76 | 3e | > | 94 | 136 | 5e | ^ | 126 | 176 | 7e | ~ | |
| 45 | +| 31 | 37 | 1f | US (unit separator) | 63 | 77 | 3f | ? | 95 | 137 | 5f | _ | 127 | 177 | 7f | DEL (delete) | |
| 46 | + |
| 47 | +Note: in Unicode, the ASCII character block is known as [U+0000..U+007F Basic Latin](https://www.unicode.org/charts/PDF/U0000.pdf). |
| 48 | + |
| 49 | +## Example |
| 50 | + |
| 51 | +```cpp |
| 52 | +#include <iostream> |
| 53 | + |
| 54 | +int main() |
| 55 | +{ |
| 56 | + std::cout << "Printable ASCII [32..126]:\n"; |
| 57 | + for (char c{' '}; c <= '~'; ++c) |
| 58 | + std::cout << c << ((c + 1) % 32 ? ' ' : '\n'); |
| 59 | + std::cout << '\n'; |
| 60 | +} |
| 61 | +``` |
| 62 | + |
| 63 | +Possible output: |
| 64 | + |
| 65 | +```cpp |
| 66 | +Printable ASCII [32..126]: |
| 67 | + ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? |
| 68 | +@ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ |
| 69 | +` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ |
| 70 | +``` |
| 71 | +
|
| 72 | +## See also |
| 73 | +
|
| 74 | +<DescList> |
| 75 | +<Desc> |
| 76 | + <DocLink slot="item" src="/c/language/ascii.html"> C documentation</DocLink> for <span> **ASCII Chart** </span> |
| 77 | +</Desc> |
| 78 | +</DescList> |
0 commit comments