Introduction
In computers, we apply various techniques to convert our languages into machine-understandable processes. The computer is only able to understand machine language and can't understand high-level languages like C++, Java, Python, etc. We apply various character encoding techniques to convert these languages into machine language. Two of the most important methods used for character encoding are ASCII and the UNICODE technique.
In this blog, we will discuss the difference between UNICODE and ASCII. We will study ASCII and UNICODE separately and discuss some of their significant differences in a tabular format. Ultimately, we will discuss some frequently asked questions about ASCII and UNICODE.
What is ASCII?
ASCII stands for American Standard Code for Information Interchange. ASCII uses integers to encode numbers(0-9), uppercase alphabets(A-Z), lowercase alphabets(a-z), and some common symbols such as semicolon, exclamation, etc. ASCII was introduced when computers were starting to develop. Back then, computers could only understand basic symbols and letters.
Since integers are more accessible to store in the memory than letters and symbols, each character was given a unique value called ASCII value. The ASCII chart of all the numbers is shown below.
Decimal |
Binary |
ASCII |
Decimal |
Binary |
ASCII |
---|---|---|---|---|---|
0 |
00000000 |
NUL |
64 |
01000000 |
@ |
1 |
00000001 |
SOH |
65 |
01000001 |
A |
2 |
00000010 |
STX |
66 |
01000010 |
B |
3 |
00000011 |
ETX |
67 |
01000011 |
C |
4 |
00000100 |
EOT |
68 |
01000100 |
D |
5 |
00000101 |
ENQ |
69 |
01000101 |
E |
6 |
00000110 |
ACK |
70 |
01000110 |
F |
7 |
00000111 |
BEL |
71 |
01000111 |
G |
8 |
00001000 |
BS |
72 |
01001000 |
H |
9 |
00001001 |
HT |
73 |
01001001 |
I |
10 |
00001010 |
LF |
74 |
01001010 |
J |
11 |
00001011 |
VT |
75 |
01001011 |
K |
12 |
00001100 |
FF |
76 |
01001100 |
L |
13 |
00001101 |
CR |
77 |
01001101 |
M |
14 |
00001110 |
SO |
78 |
01001110 |
N |
15 |
00001111 |
SI |
79 |
01001111 |
O |
16 |
00010000 |
DLE |
80 |
01010000 |
P |
17 |
00010001 |
DC1 |
81 |
01010001 |
Q |
18 |
00010010 |
DC2 |
82 |
01010010 |
R |
19 |
00010011 |
DC3 |
83 |
01010011 |
S |
20 |
00010100 |
DC4 |
84 |
01010100 |
T |
21 |
00010101 |
NAK |
85 |
01010101 |
U |
22 |
00010110 |
SYN |
86 |
01010110 |
V |
23 |
00010111 |
ETB |
87 |
01010111 |
X |
24 |
00011000 |
CAN |
88 |
01011000 |
W |
25 |
00011001 |
EM |
89 |
01011001 |
Y |
26 |
00011010 |
SUB |
90 |
01011010 |
Z |
27 |
00011011 |
ESC |
91 |
01011011 |
[ |
28 |
00011100 |
FS |
92 |
01011100 |
| |
29 |
00011101 |
GS |
93 |
01011101 |
] |
30 |
00011110 |
RS |
94 |
01011110 |
^ |
31 |
00011111 |
US |
95 |
01011111 |
_ |
32 |
00100000 |
SP |
96 |
01100000 |
. |
33 |
00100001 |
! |
97 |
01100001 |
a |
34 |
00100010 |
" |
98 |
01100010 |
b |
35 |
00100011 |
# |
99 |
01100011 |
c |
36 |
00100100 |
$ |
100 |
01100100 |
d |
37 |
00100101 |
% |
101 |
01100101 |
e |
38 |
00100110 |
& |
102 |
01100110 |
f |
39 |
00100111 |
' |
103 |
01100111 |
g |
40 |
00101000 |
( |
104 |
01101000 |
h |
41 |
00101001 |
) |
105 |
01101001 |
i |
42 |
00101010 |
* |
106 |
01101010 |
j |
43 |
00101011 |
+ |
107 |
01101011 |
k |
44 |
00101100 |
, |
108 |
01101100 |
l |
45 |
00101101 |
- |
109 |
01101101 |
m |
46 |
00101110 |
. |
110 |
01101110 |
n |
47 |
00101111 |
/ |
111 |
01101111 |
o |
48 |
00110000 |
0 |
112 |
01110000 |
p |
49 |
00110001 |
1 |
113 |
01110001 |
q |
50 |
00110010 |
2 |
114 |
01110010 |
r |
51 |
00110011 |
3 |
115 |
01110011 |
s |
52 |
00110100 |
4 |
116 |
01110100 |
t |
53 |
00110101 |
5 |
117 |
01110101 |
u |
54 |
00110110 |
6 |
118 |
01110110 |
v |
55 |
00110111 |
7 |
119 |
01110111 |
w |
56 |
00111000 |
8 |
120 |
01111000 |
x |
57 |
00111001 |
9 |
121 |
01111001 |
y |
58 |
00111010 |
: |
122 |
01111010 |
z |
59 |
00111011 |
; |
123 |
01111011 |
{ |
60 |
00111100 |
< |
124 |
01111100 |
| |
61 |
00111101 |
= |
125 |
01111101 |
} |
62 |
00111110 |
> |
126 |
01111110 |
~ |
63 |
00111111 |
? |
127 |
01111111 |
DEL |
The primary issue while using ASCII was that it could only support 256 characters. This war was because ASCII only kept 8 bits at that time. Hence, a system that could use more bits and encode more characters was needed.