HomeSearch

Java ASCII Table

This Java program generates an ASCII table of the 128 ASCII codes. It shows how to manipulate ASCII chars.
ASCII table. In computer programs, we often manipulate characters that are stored in ASCII. The letter "a" is the value 97. And "b" is 98.
The table. There are 128 values in ASCII. This is a small subset of Unicode. 2 bytes are needed for Unicode, but ASCII requires just one byte.
ASCII table: Decimal ASCII Hex 0 control 0 1 control 1 2 control 2 3 control 3 4 control 4 5 control 5 6 control 6 7 control 7 8 control 8 9 \t 9 10 \n a 11 whitespace b 12 \f c 13 \r d 14 control e 15 control f 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 whitespace 1c 29 whitespace 1d 30 whitespace 1e 31 whitespace 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
Notes on table. Some values in ASCII are represented with the string "control" or "whitespace." These are not easy to display in a web page file.
Example program. Next we introduce the Java program that generated the above table. The program displays the header for the table, then loops through 128 values to display the rows.

IsWhitespace: We invoke the Character.isWhitespace method to determine if a char is whitespace.

Switch: We use a switch to help display a whitespace char. Some sequences (like a vertical tab) are just displayed as "whitespace."

Switch

IsISOControl: This built-in method detects some characters in ASCII that are also not letters, digits or punctuation.

Finally: We display everything into rows. We use left-padding in our format string to make things look nice.

Format
Java program that generates ASCII table public class Program { public static void main(String[] args) { // Write the header. System.out.printf("%1$-8s %2$-10s %3$s\n", "Decimal", "ASCII", "Hex"); // Loop over all possible ASCII codes. int min = 0; int max = 128; for (int i = min; i < max; i++) { char c = (char) i; String display = ""; // Figure out how to display whitespace. if (Character.isWhitespace(c)) { switch (c) { case '\t': display = "\\t"; break; case ' ': display = "space"; break; case '\n': display = "\\n"; break; case '\r': display = "\\r"; break; case '\f': display = "\\f"; break; default: display = "whitespace"; break; } } else if (Character.isISOControl(c)) { // Handle control chars. display = "control"; } else { // Handle other chars. display = Character.toString(c); } // Write a string with padding. System.out.printf("%1$-8d %2$-10s %3$s\n", i, display, Integer.toHexString(i)); } } } Output See above table.
ASCII manipulation. We can discover optimizations by inspecting the ASCII table. For example, we can convert the letters "a" through "z" to 0-26 by subtracting 97.
Digit conversion. To convert from digit chars "0" through "9" to actual digits, we must subtract 48. This is a simple conversion.
A review. An ASCII table helps in many aspects of computer programming. We can develop optimizations with ASCII codes to improve program performance.
© 2007-2019 Sam Allen. Every person is special and unique. Send bug reports to info@dotnetperls.com.
Home
Dot Net Perls