
Bảng Mã ASCII: Đầy Đủ 256 Ký Tự Chuẩn & Mở Rộng
Mỗi khi bạn gõ một chữ cái, một con số hay một ký hiệu trên bàn phím, máy tính đang nói chuyện bằng một ngôn ngữ gốc có từ năm 1963 — đó là bảng mã ASCII. Bảng đầy đủ ngày nay chứa tới 256 ký tự, từ những mã 7-bit cơ bản đến phiên bản mở rộng 8-bit phục vụ đa ngôn ngữ. Bài viết này sẽ hướng dẫn chi tiết cách phân loại, tra cứu và sử dụng bảng mã ASCII dựa trên tài liệu từ Wikipedia và các nguồn công nghệ uy tín.
Số ký tự ASCII chuẩn: 128 · Số ký tự ASCII mở rộng: 256 · Bit sử dụng chuẩn: 7 bit · Tên đầy đủ: American Standard Code for Information Interchange · Ký tự phổ biến: Từ 32 đến 127
Tổng quan nhanh
- 128 ký tự (Wikipedia tiếng Việt)
- 7 bit để biểu diễn thông tin (Wikipedia tiếng Việt)
- Ký tự cơ bản từ 0 đến 127 (Wikipedia tiếng Việt)
- 256 ký tự tổng cộng
- 8 bit, 128 ký tự bổ sung thêm
- Hỗ trợ ký tự Latin và dấu
- Lập trình C++ và các ngôn ngữ
- Trao đổi dữ liệu giữa thiết bị
- Mã hóa văn bản trong máy tính
| Thuộc tính | Giá trị |
|---|---|
| Định nghĩa | American Standard Code for Information Interchange |
| Ký tự chuẩn | 128 (0-127) |
| Ký tự mở rộng | 128 thêm (128-255) |
| Bit chuẩn | 7 bit |
| Nguồn gốc | Mỹ, 1963 |
Bảng mã ASCII là gì?
Bảng mã ASCII (American Standard Code for Information Interchange) là chuẩn mã hóa ký tự được phát triển tại Hoa Kỳ vào năm 1963, cho phép máy tính trao đổi thông tin với con người thông qua các con số được gán cho từng ký tự. Mỗi chữ cái trong bảng chữ cái Latin được gán một giá trị từ 0 đến 127, tạo nên ngôn ngữ chung để các thiết bị giao tiếp với nhau.
Tên đầy đủ và ý nghĩa
Tên đầy đủ “American Standard Code for Information Interchange” dịch sang tiếng Việt là “Mã tiêu chuẩn Hoa Kỳ để Trao đổi Thông tin”. Bảng mã này do Viện Tiêu chuẩn Quốc gia Hoa Kỳ (ANSI) phê duyệt, đóng vai trò nền tảng cho việc mã hóa văn bản trong máy tính và thiết bị công nghệ thông tin.
Lịch sử ngắn gọn
ASCII ra đời khi ngành công nghiệp máy tính cần một chuẩn chung để đảm bảo tính tương thích giữa các hệ thống khác nhau. Khi máy tính được giới thiệu, nhiều máy tính dùng nhóm 8-bit (byte) làm đơn vị thông tin nhỏ nhất, tạo điều kiện cho việc mở rộng bảng mã về sau.
Bảng mã ASCII chuẩn chỉ hỗ trợ bộ ký tự tiếng Anh và một số ký hiệu cơ bản, đủ cho nhu cầu giao tiếp bằng tiếng Anh nhưng không đáp ứng được các ngôn ngữ khác.
Với 128 ký tự cố định trong bảng chuẩn, giới hạn này buộc các hệ thống phải tìm cách mở rộng để phục vụ ngôn ngữ ngoài tiếng Anh.
Bảng mã ASCII 256 ký tự
Bảng mã ASCII hiện nay chứa tổng cộng 256 ký tự, bao gồm 128 ký tự chuẩn ban đầu cộng thêm 128 ký tự mở rộng từ mã 128 đến 255. Phiên bản đầy đủ này sử dụng 8 bit để biểu diễn thông tin, cho phép máy tính hỗ trợ thêm nhiều ngôn ngữ và ký hiệu đặc biệt.
Cấu trúc 256 ký tự
- 128 ký tự đầu tiên (0-127): bảng ASCII chuẩn, sử dụng 7 bit
- 128 ký tự tiếp theo (128-255): bảng ASCII mở rộng, sử dụng 8 bit
- Tổng cộng vừa vặn trong 1 byte dữ liệu, đơn vị nhỏ nhất của máy tính
Ký tự từ 128 đến 255
Phạm vi mã ASCII từ 128 đến 255 được thêm vào để đáp ứng nhu cầu của từng quốc gia, bao gồm các chữ có dấu, các phép toán và các ký tự trang trí. Tuy nhiên, các ký tự trong vùng này không thống nhất giữa các hệ thống — cùng một mã có thể hiển thị ký tự khác nhau tùy bảng mã được sử dụng.
Bảng mã ASCII đầy đủ
Bảng mã ASCII đầy đủ bao gồm toàn bộ 128 ký tự chuẩn được đánh số từ 0 đến 127, phổ biến trong hầu hết ngôn ngữ lập trình như C, C++, Java và Python. Phạm vi này yêu cầu 7 bit hoặc 1 byte dữ liệu để lưu trữ, đủ để biểu diễn toàn bộ bảng chữ cái tiếng Anh cùng các ký hiệu thông dụng.
Ký tự điều khiển 0-31
- Mã 0-31: các ký tự điều khiển không in được (NULL, Enter, Tab, Escape)
- Mã 32: dấu cách (space), ký tự in được đầu tiên
- Các ký tự này được dùng để điều khiển thiết bị và luồng truyền dữ liệu
Ký tự in được 32-127
Từ mã 32 đến 127 là các ký tự in được, bao gồm dấu cách, các chữ cái hoa (A-Z), chữ cái thường (a-z), chữ số (0-9), và các ký hiệu đặc biệt như @, #, $, %, &, *. Các ký tự được gán ký tự viết hoa và viết thường theo quy luật nhất quán: mã chữ hoa thường nhỏ hơn mã chữ thường cùng chữ 32 đơn vị.
Trong C++, bạn có thể dùng hàm printf("%d", 'A') để in ra mã ASCII của ký tự ‘A’ (giá trị 65), hoặc printf("%c", 65) để in ký tự từ mã 65. Các phép cộng trừ số nguyên trên ký tự sẽ thay đổi mã và do đó thay đổi ký tự tương ứng.
Bảng mã ASCII mở rộng
Bảng mã ASCII mở rộng ra đời khi sự phát triển của ngôn ngữ kéo theo nhu cầu về nhiều ký tự mới. Với 128 ký tự bổ sung từ mã 128 đến 255, bảng mã này giúp máy tính đọc và hiển thị được rất nhiều ngôn ngữ khác nhau, từ tiếng Việt có dấu đến các ký tự Latin mở rộng.
Khác biệt với chuẩn
- ASCII chuẩn: 7 bit, 128 ký tự, tương thích toàn cầu
- ASCII mở rộng: 8 bit, 128 ký tự bổ sung, khác nhau giữa các hệ thống
- Bit thứ tám trong ASCII mở rộng thường được dùng để kiểm tra lỗi trên các đường thông tin
Tương thích ISO 8859-1
Chuẩn ISO 8859-1 (còn gọi là Latin-1) được xác định là bảng chuẩn cho vùng 128-255 của ASCII mở rộng. Internet sử dụng chuẩn ký tự này, và hệ điều hành Windows cũng dựa trên nền tảng tương tự. Bảng mã ASCII mở rộng từ lúc được công bố đã sinh ra thêm nhiều biến thể khác nhau, gây khó khăn cho việc hiển thị thống nhất giữa các nền tảng.
Khi trao đổi văn bản giữa các hệ thống khác nhau, nếu thấy ký tự hiển thị sai (ví dụ thay vì “ê” hiện thành ký tự lạ), nguyên nhân rất có thể nằm ở sự khác biệt trong cách diễn giải vùng 128-255 của bảng mã.
Bảng mã ASCII C++ và ứng dụng
Trong lập trình C++, bảng mã ASCII được sử dụng trực tiếp để xử lý ký tự thông qua các giá trị số nguyên. Khi nhập thông tin vào máy tính, các phím được nhấn sẽ được gửi dưới dạng một chuỗi số tương ứng với mã ASCII của từng phím, và trình biên dịch sẽ chuyển đổi ngược lại thành ký tự hiển thị.
Sử dụng trong C++
Ngôn ngữ C++ hỗ trợ kiểu dữ liệu char để lưu trữ ký tự, mỗi ký tự chiếm 1 byte (8 bit) bộ nhớ. Các phép toán trên ký tự (cộng, trừ) thực chất là các phép toán trên mã ASCII tương ứng, cho phép lập trình viên thực hiện các thao tác như chuyển đổi hoa-thường hay mã hóa/khóa ký tự một cách dễ dàng.
Ví dụ mã nguồn
// In mã ASCII của ký tự
#include <iostream>
using namespace std;
int main() {
char c = 'A';
cout << "Ma ASCII cua A la: " << (int)c << endl;
// Output: Ma ASCII cua A la: 65
// Chuyen doi hoa thanh thuong
char lower = c + 32; // 65 + 32 = 97 = 'a'
cout << "Ky tu thuong: " << lower << endl;
// Output: Ky tu thuong: a
return 0;
}
| Thông số kỹ thuật | Giá trị xác minh | Nguồn |
|---|---|---|
| ASCII chuẩn: số ký tự | 128 | Wikipedia tiếng Việt |
| ASCII chuẩn: số bit | 7 bit | Wikipedia tiếng Việt |
| ASCII chuẩn: phạm vi | 0 đến 127 | Khoá Vàng |
| ASCII mở rộng: số ký tự | 128 | Hosting Việt |
| ASCII mở rộng: phạm vi | 128 đến 255 | Hosting Việt |
| ASCII mở rộng: số bit | 8 bit | Khoá Vàng |
| Tổng số ký tự | 256 | Khoá Vàng |
| Chuẩn mở rộng phổ biến | ISO 8859-1 | Thế Giới Di Động |
| Yêu cầu bộ nhớ chuẩn | 7 bit hoặc 1 byte | FPT Shop |
Sự thật đã xác nhận
- Bảng ASCII chuẩn luôn có 128 ký tự theo chuẩn quốc tế
- ASCII mở rộng 256 bao gồm 128 ký tự chuẩn cộng 128 ký tự bổ sung
- Chuẩn ISO 8859-1 là bảng chuẩn phổ biến nhất cho vùng 128-255
- Tiếng Việt được hiển thị nhờ bảng ASCII mở rộng
Điều chưa rõ ràng
- Ký tự từ mã 128 trở lên được diễn giải khác nhau giữa các hệ điều hành và nền tảng
- Nhiều biến thể bảng mã mở rộng tồn tại song song, gây xung đột ký tự
“ASCII là mã 7-bit dùng kiểu bit biểu diễn với 7 số nhị phân để biểu diễn thông tin về ký tự” — Wikipedia tiếng Việt (tài liệu tham khảo về chuẩn mã hóa)
“Bảng mã ASCII là phương tiện để trao đổi, giao tiếp thông tin giữa con người và máy tính” — Di Động Việt (trang công nghệ uy tín)
Bảng mã ASCII tuy ra đời từ năm 1963 nhưng vẫn là nền tảng không thể thiếu của mọi hệ thống máy tính hiện đại. Với 256 ký tự từ 7-bit chuẩn đến 8-bit mở rộng, ASCII cung cấp một chuẩn hóa quốc tế để biểu diễn các ký tự văn bản cơ bản trên toàn cầu. Đối với lập trình viên Việt Nam, việc nắm vững cách tra cứu và sử dụng bảng mã này — đặc biệt trong C++ và các ngôn ngữ lập trình phổ biến — là kỹ năng nền tảng giúp xử lý văn bản, mã hóa ký tự và giải quyết lỗi hiển thị một cách hiệu quả.
Câu hỏi thường gặp
Bảng mã ASCII 7 bit là gì?
ASCII 7 bit là bảng mã chuẩn gốc sử dụng 7 bit để biểu diễn 128 ký tự (từ 0 đến 127), bao gồm các chữ cái tiếng Anh, chữ số và ký hiệu cơ bản.
Câu hỏi thường gặp
Bảng mã ASCII chữ cái bao gồm những gì?
Bảng ASCII chuẩn bao gồm 26 chữ cái hoa (A-Z), 26 chữ cái thường (a-z), và 10 chữ số (0-9), tổng cộng 62 ký tự chữ và số có thể in được.
Câu hỏi thường gặp
Bảng mã ASCII có bản in được không?
Có, các mã từ 32 đến 126 là các ký tự in được (94 ký tự), bao gồm dấu cách, chữ cái, chữ số và ký hiệu. Mã 32 là dấu cách, mã 127 là phím Delete.
Câu hỏi thường gặp
Cách sử dụng bảng mã ASCII trong lập trình?
Trong C++, bạn có thể ép kiểu char sang int để lấy mã ASCII của ký tự, ví dụ: (int)'A' trả về 65. Phép cộng/trừ số nguyên trên ký tự sẽ thay đổi mã và do đó thay đổi ký tự tương ứng.
Câu hỏi thường gặp
Sự khác biệt giữa ASCII và Unicode?
ASCII sử dụng 7-8 bit cho tối đa 256 ký tự, trong khi Unicode sử dụng nhiều bit hơn (thường 16 hoặc 32 bit) để biểu diễn hơn 143.000 ký tự, bao gồm hầu hết các ngôn ngữ trên thế giới. UTF-8 là chuẩn Unicode phổ biến nhất trên Internet.
Câu hỏi thường gặp
Bảng mã ASCII đầy đủ có thể tra cứu ở đâu?
Bạn có thể tra cứu bảng đầy đủ 256 ký tự trên Wikipedia hoặc các trang công nghệ uy tín tại Việt Nam. Bảng gồm mã thập phân (0-255), mã nhị phân, ký tự và mô tả ngắn gọn cho từng vị trí.
Câu hỏi thường gặp
Ứng dụng bảng mã ASCII ngày nay?
ASCII vẫn được dùng trong lập trình, truyền dữ liệu qua mạng, file văn bản đơn giản và các giao thức cũ. Tuy nhiên, với ngôn ngữ không Latin, hệ thống hiện đại chuyển sang UTF-8 để hỗ trợ đầy đủ các ký tự toàn cầu.
Related reading: Định dạng JSON: Hướng dẫn cú pháp, ví dụ và công cụ · Json Format – Cú Pháp Chuẩn, Ví Dụ, Formatter & Viewer 2025
khoahoc.vietjack.com, didongviet.vn, vieclam24h.vn, hoanghamobile.com, totolink.vn, dienmaycholon.com
Trong lập trình C++, ký tự không bằng thường được nhập qua hướng dẫn mã Alt ký tự ≠ tương tự các mã ASCII mở rộng khác.