What is ASCII?

ASCII (American Standard Code for Information Interchange) is a character encoding standard used to represent text in computers and other devices. Developed in the 1960s, ASCII represents each character in a text document as a unique number between 0 and 127. This allows computers to store and manipulate text in a standardized format.

One of the key features of ASCII is that it is a 7-bit code, which means that it uses only 7 bits of data to represent each character. This allows ASCII to represent 128 different characters, which is enough to cover the basic characters used in the English language, including letters, numbers, and punctuation marks.

ASCII was designed to be a simple and straightforward way of representing text, which made it easy for computers to store and manipulate text data. It was widely adopted in the early days of computing, and it remains in use today, although it has largely been superseded by more advanced character encoding standards.

Despite its simplicity, ASCII has had a significant impact on the development of computing. By standardizing the way that text is represented in computers, ASCII made it possible for different computers and devices to communicate with each other and exchange text data. This has played a key role in the development of the internet and other computer networks, which rely on the ability to exchange text data between different devices.

ASCII table

Here is a list of the ASCII codes and the corresponding characters they represent:

0: NULL (null character)
1: SOH (start of heading)
2: STX (start of text)
3: ETX (end of text)
4: EOT (end of transmission)
5: ENQ (enquiry)
6: ACK (acknowledge)
7: BEL (bell)
8: BS (backspace)
9: HT (horizontal tab)
10: LF (line feed)
11: VT (vertical tab)
12: FF (form feed)
13: CR (carriage return)
14: SO (shift out)
15: SI (shift in)
16: DLE (data link escape)
17: DC1 (device control 1)
18: DC2 (device control 2)
19: DC3 (device control 3)
20: DC4 (device control 4)
21: NAK (negative acknowledge)
22: SYN (synchronous idle)
23: ETB (end of transmission block)
24: CAN (cancel)
25: EM (end of medium)
26: SUB (substitute)
27: ESC (escape)
28: FS (file separator)
29: GS (group separator)
30: RS (record separator)
31: US (unit separator)
32: SPACE
33: !
34: "
35: #
36: $
37: %
38: &
39: '
40: (
41: )
42: *
43: +
44: ,
45: -
46: .
47: /
48: 0
49: 1
50: 2
51: 3
52: 4
53: 5
54: 6
55: 7
56: 8
57: 9
58: :
59: ;
60: <
61: =
62: >
63: ?
64: @
65: A
66: B
67: C
68: D
69: E
70: F
71: G
72: H
73: I
74: J
75: K
76: L
77: M
78: N
79: O
80: P
81: Q
82: R
83: S
84: T
85: U
86: V
87: W
88: X
89: Y
90: Z
91: [
92: \
93: ]
94: ^
95: _
96: `
97: a
98: b
99: c
100: d
101: e
102: f
103: g
104: h
105: i
106: j
107: k
108: l
109: m
110: n
111: o
112: p
113: q
114: r
115: s
116: t
117: u
118: v
119: w
120: x
121: y
122: z
123: {
124: |
125: }
126: ~
127: DEL (delete)

Note that characters with codes less than 32 are non-printable. They are used to control printing or position of text curson on the screen.

ASCII art

In addition to its practical uses, ASCII has also had a cultural impact. ASCII art, for example, is a type of art created using the characters available in the ASCII character set. These images are created using only the basic characters available in ASCII, such as letters, numbers, and punctuation marks. ASCII art has a distinctive aesthetic, and it remains popular among some computer users today.

For example the following text can be considered ASCII art.

     _                  ____            _       _
    | | __ ___   ____ _/ ___|  ___ _ __(_)_ __ | |_
 _  | |/ _` \ \ / / _` \___ \ / __| '__| | '_ \| __|
| |_| | (_| |\ V / (_| |___) | (__| |  | | |_) | |_
 \___/ \__,_| \_/ \__,_|____/ \___|_|  |_| .__/ \__|
                                         |_|


ASCII in JavaScript

To obtain in JavaScript the ASCII code of a character use the following code snippet:

let str = 'Hello, world!';
let code = str.charCodeAt(0);
println(code);  // Output: 72

You can also use the fromCharCode() method of the String object to convert from a code to a character:

let code = 72;
let char = String.fromCharCode(code);
println(char);  // Output: H

Note: In the above two examples the codes are actually Unicode code points... but they match the ASCII codes for English characters.

Conclusion

Overall, ASCII is a simple but important character encoding standard that has played a key role in the development of computing. Although it has largely been superseded by more advanced standards, ASCII remains in use and continues to be an important part of the digital landscape.

Please see also the article about ASCII vs Unicode and also explore the varios text based projects here on codeguppy.com

Read more blog articles Browse JavaScript projects

About codeguppy

CodeGuppy is a FREE coding platform for schools and intependent learners. If you don't have yet an account with codeguppy.com, you can start by visiting the registration page and sign-up for a free account. Registered users can access tons of fun projects!


Follow @codeguppy on Twitter for coding tips and news about codeguppy platform. For more information, please feel free to contact us.