Home
C#
ASCII Table
This page was last reviewed on Jun 11, 2021.
Dot Net Perls
ASCII table. This is a quick reference for ASCII character codes. We use a simple C# program to generate this dynamically. We see the ASCII character codes for the first 128 characters.
Code sample. Please notice the C# console program that generates this table. A way to convert chars and ints is found in the code.
Table. Here are the first 128 characters. Some of the characters are escaped on the ASCII column. Many of the characters are control characters, which are not widely used.
Decimal ASCII Hex 0 control 00 1 control 01 2 control 02 3 control 03 4 control 04 5 control 05 6 control 06 7 control 07 8 control 08 9 \t 09 10 \n 0A 11 \v 0B 12 \f 0C 13 \r 0D 14 control 0E 15 control 0F 16 control 10 17 control 11 18 control 12 19 control 13 20 control 14 21 control 15 22 control 16 23 control 17 24 control 18 25 control 19 26 control 1A 27 control 1B 28 control 1C 29 control 1D 30 control 1E 31 control 1F 32 space 20 33 ! 21 34 " 22 35 # 23 36 $ 24 37 % 25 38 & 26 39 ' 27 40 ( 28 41 ) 29 42 * 2A 43 + 2B 44 , 2C 45 - 2D 46 . 2E 47 / 2F 48 0 30 49 1 31 50 2 32 51 3 33 52 4 34 53 5 35 54 6 36 55 7 37 56 8 38 57 9 39 58 : 3A 59 ; 3B 60 < 3C 61 = 3D 62 > 3E 63 ? 3F 64 @ 40 65 A 41 66 B 42 67 C 43 68 D 44 69 E 45 70 F 46 71 G 47 72 H 48 73 I 49 74 J 4A 75 K 4B 76 L 4C 77 M 4D 78 N 4E 79 O 4F 80 P 50 81 Q 51 82 R 52 83 S 53 84 T 54 85 U 55 86 V 56 87 W 57 88 X 58 89 Y 59 90 Z 5A 91 [ 5B 92 \ 5C 93 ] 5D 94 ^ 5E 95 _ 5F 96 ` 60 97 a 61 98 b 62 99 c 63 100 d 64 101 e 65 102 f 66 103 g 67 104 h 68 105 i 69 106 j 6A 107 k 6B 108 l 6C 109 m 6D 110 n 6E 111 o 6F 112 p 70 113 q 71 114 r 72 115 s 73 116 t 74 117 u 75 118 v 76 119 w 77 120 x 78 121 y 79 122 z 7A 123 { 7B 124 | 7C 125 } 7D 126 ~ 7E 127 control 7F
Console program. This program uses the PadRight method to pad each column so it appears correctly. It uses a simple for-loop construct to loop through all the ASCII characters.
String PadRight, PadLeft
for
Also The IsControl and IsWhiteSpace methods are used. With these methods we change how we display certain characters.
char
switch char
using System; class Program { static void Main() { Console.Write("Decimal".PadRight(10)); Console.Write("ASCII".PadRight(10)); Console.Write("Hex".PadRight(10)); Console.WriteLine(); int min = 0; int max = 128; for (int i = min; i < max; i++) { // Get ASCII character. char c = (char)i; // Get display string. string display = string.Empty; if (char.IsWhiteSpace(c)) { display = c.ToString(); switch (c) { case '\t': display = "\\t"; break; case ' ': display = "space"; break; case '\n': display = "\\n"; break; case '\r': display = "\\r"; break; case '\v': display = "\\v"; break; case '\f': display = "\\f"; break; } } else if (char.IsControl(c)) { display = "control"; } else { display = c.ToString(); } // Write table row. Console.Write(i.ToString().PadRight(10)); Console.Write(display.PadRight(10)); Console.Write(i.ToString("X2")); Console.WriteLine(); } } }
Notes, optimizations. Many optimizations can be done using ASCII codes. We can test ranges of characters with few instructions. And a lookup table (indexed by an int) can be used.
A summary. We saw all the ASCII characters. This is useful for converting between characters—such as between upper and lowercase letters—in an optimized way.
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.
This page was last updated on Jun 11, 2021 (image).
Home
Changes
© 2007-2024 Sam Allen.