Bảng Mã ASCII: Khám Phá Chi Tiết và Ứng Dụng Trong Lập Trình

Trong thế giới lập trình, bảng mã ASCII đóng vai trò quan trọng như một hệ thống ngôn ngữ giúp con người giao tiếp với máy tính. Bài viết này sẽ cung cấp cái nhìn toàn diện về bảng mã ASCII, từ định nghĩa cơ bản đến các ký tự và ứng dụng thực tế, giúp người mới bắt đầu lập trình dễ dàng tiếp cận và nắm vững kiến thức này.

Bảng mã ASCII và ứng dụng của nó trong lập trìnhBảng mã ASCII và ứng dụng của nó trong lập trình

I. Bảng mã ASCII là gì?

ASCII (viết tắt của American Standard Code for Information Interchange, nghĩa là Chuẩn mã trao đổi thông tin Hoa Kỳ) là một hệ thống mã hóa ký tự dựa trên bảng chữ cái Latinh. Nó bao gồm một tập hợp các ký tự và mã ký tự, được sử dụng rộng rãi để biểu diễn văn bản trong máy tính và các thiết bị công nghệ thông tin khác. Hiểu một cách đơn giản, ASCII là phương tiện để con người và máy tính trao đổi thông tin.

Bảng mã ASCII hiện đại bao gồm 256 ký tự, chia thành hai phần chính:

  • 128 ký tự ASCII chuẩn: Gồm các ký tự cơ bản như chữ cái (A-Z, a-z), chữ số (0-9), dấu câu và các ký tự điều khiển. Các ký tự này được biểu diễn bằng hệ thập phân từ 0 đến 127 và hệ nhị phân 7 bit.
  • 128 ký tự ASCII mở rộng: Bổ sung thêm các ký tự đặc biệt, ký tự đồ họa và ký tự của các ngôn ngữ khác nhau. Các ký tự này được biểu diễn bằng hệ thập phân từ 128 đến 255 và hệ nhị phân 8 bit.

Ban đầu, bảng mã ASCII chuẩn chỉ có 128 ký tự, sử dụng 7 bit để biểu diễn. Tuy nhiên, sự phát triển của công nghệ thông tin và sự phổ biến của máy tính trên toàn thế giới đã thúc đẩy việc mở rộng bảng mã ASCII để đáp ứng nhu cầu đa dạng về ngôn ngữ và ký tự. Bảng mã ASCII mở rộng ra đời, bổ sung thêm 128 ký tự, sử dụng 8 bit để biểu diễn, cho phép biểu diễn nhiều ký tự và biểu tượng hơn.

II. Tổng hợp bảng mã ASCII 256 ký tự

Dưới đây là bảng tổng hợp đầy đủ 256 ký tự trong bảng mã ASCII, bao gồm cả ký tự điều khiển, ký tự in được và ký tự mở rộng.

Lưu ý:

  • Các ký tự từ 0 đến 31 trong hệ thập phân là các ký tự điều khiển, không in ra màn hình mà thực hiện các chức năng điều khiển trong môi trường DOS. Một số ký tự đặc biệt có thể thực hiện các lệnh cụ thể, ví dụ: ký tự 7 (BEL) tạo ra tiếng bíp, ký tự 10 (LF) xuống dòng, ký tự 32 là dấu cách (khoảng trống).
  • Bảng mã ASCII mở rộng có nhiều biến thể khác nhau. Tuy nhiên, chuẩn ISO 8859-1 được sử dụng rộng rãi trên Internet và hệ điều hành Windows, nên được coi là bảng mã ASCII mở rộng chuẩn.

1. Bảng ký tự điều khiển ASCII (ASCII Control Characters)

Hệ 10 (Thập phân) Hệ 2 (Nhị phân) Hệ 16 (Thập lục phân) HTML Viết tắt Truy nhập bàn phím Tên/ Ý nghĩa
0 000 0000 0 NUL ^@ Ký tự rỗng
1 000 0001 1 SOH ^A Bắt đầu Header
2 000 0010 2 STX ^B Bắt đầu văn bản
3 000 0011 3 ETX ^C Kết thúc văn bản
4 000 0100 4 EOT ^D Kết thúc truyền
5 000 0101 5 ENQ ^E Truy vấn
6 000 0110 6 ACK ^F Sự công nhận
7 000 0111 7 BEL ^G Tiếng kêu (bíp)
8 000 1000 8 BS ^H Xóa ngược
9 000 1001 9 HT ^I Thẻ ngang (Tab)
10 000 1010 0A LF ^J Xuống dòng mới (Line Feed)
11 000 1011 0B VT ^K Thẻ dọc
12 000 1100 0C FF ^L Cấp giấy (Form Feed)
13 000 1101 0D CR ^M Chuyển dòng/ Xuống dòng (Carriage Return)
14 000 1110 0E SO ^N Ngoài mã (Shift Out)
15 000 1111 0F SI ^O Mã hóa/Trong mã (Shift In)
16 001 0000 10 DLE ^P Thoát liên kết dữ liệu
17 001 0001 11 DC1 ^Q Điều khiển thiết bị 1
18 001 0010 12 DC2 ^R Điều khiển thiết bị 2
19 001 0011 13 DC3 ^S Điều khiển thiết bị 3
20 001 0100 14 DC4 ^T Điều khiển thiết bị 4
21 001 0101 15 NAK ^U Thông báo có lỗi bên gửi
22 001 0110 16 SYN ^V Thông báo đã đồng bộ
23 001 0111 17 ETB ^W Kết thúc truyền tin
24 001 1000 18 CAN ^X Hủy
25 001 1001 19 EM ^Y End of Medium
26 001 1010 1A SUB ^Z Thay thế
27 001 1011 1B ESC ^[/ESC Thoát
28 001 1100 1C FS ^ Phân tách tập tin
29 001 1101 1D GS ^] Phân tách nhóm
30 001 1110 1E RS ^^ Phân tách bản ghi
31 001 1111 1F US ^_ Phân tách đơn vị
127 111 1111 7F DEL DEL Xóa

2. Bảng ký tự ASCII in được (Printable ASCII Characters)

Hệ 10 (Thập phân) Hệ 2 (Nhị phân) Hệ 16 (Thập lục phân) HTML Đồ họa (Hiển thị được)
32 010 0000 20 Khoảng trống (Space)
33 010 0001 21 ! !
34 010 0010 22
35 010 0011 23 # #
36 010 0100 24 $ $
37 010 0101 25 % %
38 010 0110 26 & &
39 010 0111 27
40 010 1000 28 ( (
41 010 1001 29 ) )
42 010 1010 2A * *
43 010 1011 2B + +
44 010 1100 2C , ,
45 010 1101 2D
46 010 1110 2E . .
47 010 1111 2F / /
48 011 0000 30 0 0
49 011 0001 31 1 1
50 011 0010 32 2 2
51 011 0011 33 3 3
52 011 0100 34 4 4
53 011 0101 35 5 5
54 011 0110 36 6 6
55 011 0111 37 7 7
56 011 1000 38 8 8
57 011 1001 39 9 9
58 011 1010 3A : :
59 011 1011 3B ; ;
60 011 1100 3C < <
61 011 1101 3D = =
62 011 1110 3E > >
63 011 1111 3F ? ?
64 100 0000 40 @ @
65 100 0001 41 A A
66 100 0010 42 B B
67 100 0011 43 C C
68 100 0100 44 D D
69 100 0101 45 E E
70 100 0110 46 F F
71 100 0111 47 G G
72 100 1000 48 H H
73 100 1001 49 I I
74 100 1010 4A J J
75 100 1011 4B K K
76 100 1100 4C L L
77 100 1101 4D M M
78 100 1110 4E N N
79 100 1111 4F O O
80 101 0000 50 P P
81 101 0001 51 Q Q
82 101 0010 52 R R
83 101 0011 53 S S
84 101 0100 54 T T
85 101 0101 55 U U
86 101 0110 56 V V
87 101 0111 57 W W
88 101 1000 58 X X
89 101 1001 59 Y Y
90 101 1010 5A Z Z
91 101 1011 5B [ [
92 101 1100 5C
93 101 1101 5D ] ]
94 101 1110 5E ^ ^
95 101 1111 5F _ _
96 110 0000 60 |
97 110 0001 61 a a
98 110 0010 62 b b
99 110 0011 63 c c
100 110 0100 64 d d
101 110 0101 65 e e
102 110 0110 66 f f
103 110 0111 67 g g
104 110 1000 68 h h
105 110 1001 69 i i
106 110 1010 6A j j
107 110 1011 6B k k
108 110 1100 6C l l
109 110 1101 6D m m
110 110 1110 6E n n
111 110 1111 6F o o
112 111 0000 70 p p
113 111 0001 71 q q
114 111 0010 72 r r
115 111 0011 73 s s
116 111 0100 74 t t
117 111 0101 75 u u
118 111 0110 76 v v
119 111 0111 77 w w
120 111 1000 78 x x
121 111 1001 79 y y
122 111 1010 7A z z
123 111 1011 7B { {
125 111 1101 7D } }
126 111 1110 7E ~ ~

3. Bảng mã ASCII mở rộng (Extended ASCII Characters)

Hệ 10 (Thập phân) Hệ 2 (Nhị phân) Hệ 16 (Thập lục phân) HTML Ký tự Mô tả
128 10000000 0x80 Euro sign (Dấu Euro)
129 10000001 0x81 Chưa được sử dụng
130 10000010 0x82 Single low-9 quotation mark (Dấu nháy đơn)
131 10000011 0x83 ƒ ƒ Latin small letter f with hook
132 10000100 0x84 Double low-9 quotation mark (Dấu nháy kép)
133 10000101 0x85 Horizontal ellipsis (Dấu chấm lửng)
134 10000110 0x86 Dagger (Dấu dao găm)
135 10000111 0x87 Double dagger (Dấu dao găm kép)
136 10001000 0x88 ˆ ˆ Modifier letter circumflex accent
137 10001001 0x89 Per mille sign (Dấu phần nghìn)
138 10001010 0x8A Š Š Latin capital letter S with caron
139 10001011 0x8B Single left-pointing angle quotation mark
140 10001100 0x8C Œ Œ Latin capital ligature OE
141 10001101 0x8D Chưa được sử dụng
142 10001110 0x8E &Zcaron; Ž Latin capital letter Z with caron
143 10001111 0x8F Chưa được sử dụng
144 10010000 0x90 Chưa được sử dụng
145 10010001 0x91 Left single quotation mark (Nháy đơn trái)
146 10010010 0x92 Right single quotation mark (Nháy đơn phải)
147 10010011 0x93 Left double quotation mark (Nháy kép trái)
148 10010100 0x94 Right double quotation mark (Nháy kép phải)
149 10010101 0x95 Bullet (Dấu chấm tròn)
150 10010110 0x96 En dash (Gạch ngang ngắn)
151 10010111 0x97 Em dash (Gạch ngang dài)
152 10011000 0x98 ˜ ˜ Small tilde (Dấu ngã)
153 10011001 0x99 Trade mark sign (Dấu thương hiệu)
154 10011010 0x9A š š Latin small letter s with caron
155 10011011 0x9B Single right-pointing angle quotation mark
156 10011100 0x9C œ œ Latin small ligature oe
157 10011101 0x9D Chưa được sử dụng
158 10011110 0x9E &zcaron; ž Latin small letter z with caron
159 10011111 0x9F Ÿ Ÿ Latin capital letter Y with diaeresis
160 10100000 0xA0 Non-breaking space (Khoảng trắng không ngắt dòng)
161 10100001 0xA1 ¡ ¡ Inverted exclamation mark (Dấu chấm than ngược)
162 10100010 0xA2 ¢ ¢ Cent sign (Dấu cent)
163 10100011 0xA3 £ £ Pound sign (Dấu bảng Anh)
164 10100100 0xA4 ¤ ¤ Currency sign (Dấu tiền tệ chung)
165 10100101 0xA5 ¥ ¥ Yen sign (Dấu yên Nhật)
166 10100110 0xA6 ¦ ¦ Broken bar (Thanh đứt đoạn)
167 10100111 0xA7 § § Section sign (Dấu tiết đoạn)
168 10101000 0xA8 ¨ ¨ Diaeresis (Dấu hai chấm trên nguyên âm)
169 10101001 0xA9 © © Copyright sign (Dấu bản quyền)
170 10101010 0xAA ª ª Feminine ordinal indicator
171 10101011 0xAB « « Left-pointing double angle quotation mark
172 10101100 0xAC ¬ ¬ Not sign (Dấu phủ định)
173 10101101 0xAD ­ Soft hyphen (Dấu nối mềm)
174 10101110 0xAE ® ® Registered sign (Dấu đã đăng ký)
175 10101111 0xAF ¯ ¯ Macron (Dấu gạch ngang trên nguyên âm)
176 10110000 0xB0 ° ° Degree sign (Dấu độ)
177 10110001 0xB1 ± ± Plus-minus sign (Dấu cộng trừ)
178 10110010 0xB2 ² ² Superscript two (Số 2 mũ trên)
179 10110011 0xB3 ³ ³ Superscript three (Số 3 mũ trên)
180 10110100 0xB4 ´ ´ Acute accent (Dấu sắc)
181 10110101 0xB5 µ µ Micro sign (Dấu micro)
182 10110110 0xB6 Pilcrow sign (Dấu đoạn văn)
183 10110111 0xB7 · · Middle dot (Dấu chấm giữa)
184 10111000 0xB8 ¸ ¸ Cedilla (Dấu móc dưới chữ)
185 10111001 0xB9 ¹ ¹ Superscript one (Số 1 mũ trên)
186 10111010 0xBA º º Masculine ordinal indicator
187 10111011 0xBB » » Right-pointing double angle quotation mark
188 10111100 0xBC ¼ ¼ Fraction one quarter (Phân số 1/4)
189 10111101 0xBD ½ ½ Fraction one half (Phân số 1/2)
190 10111110 0xBE ¾ ¾ Fraction three quarters (Phân số 3/4)
191 10111111 0xBF ¿ ¿ Inverted question mark (Dấu chấm hỏi ngược)
192 11000000 0xC0 À À Latin capital letter A with grave
193 11000001 0xC1 Á Á Latin capital letter A with acute
194 11000010 0xC2 Â Â Latin capital letter A with circumflex
195 11000011 0xC3 Ã Ã Latin capital letter A with tilde
196 11000100 0xC4 Ä Ä Latin capital letter A with diaeresis
197 11000101 0xC5 Å Å Latin capital letter A with ring above
198 11000110 0xC6 Æ Æ Latin capital letter AE ligature
199 11000111 0xC