Mỗi khi bạn nhấn một phím trên bàn phím, thực chất máy tính không hề “thấy” cái chữ đó giống như cách chúng ta nhìn đâu. Nó không biết chữ “A” trông vuông tròn ra sao, hay số “7” là biểu tượng gì.
Ở cấp độ thấp nhất, máy tính chỉ cần những con số để có thể lưu trữ, tính toán và truyền đi. Đó là lý do chúng ta cần một chuẩn chung để quy đổi ký tự thành số, và đây cũng là lúc bạn nên hiểu bảng mã ASCII là gì.
ASCII là một trong những hệ thống đầu tiên và có sức ảnh hưởng lớn nhất để biến các chữ cái thành những con số. Trước khi có những hệ thống khổng lồ như Unicode, chính ASCII đã giúp các máy tính khác nhau có thể “hiểu” chung một ngôn ngữ văn bản cơ bản.

ASCII là gì?
ASCII là viết tắt của American Standard Code for Information Interchange, có thể hiểu là chuẩn mã trao đổi thông tin của Hoa Kỳ.
Nói theo kiểu bình dân, ASCII là một “cuốn từ điển” gán các con số cho từng chữ cái để máy tính có thể lưu lại. Thay vì lưu hình dáng của chữ, máy tính sẽ lưu mã số. Ví dụ:
- Chữ A = số 65
- Chữ B = số 66
- Chữ a = số 97
- Số 0 = số 48
- Dấu cách (Space) = số 32
Chuẩn ASCII nguyên bản là hệ thống 7-bit, nghĩa là nó có thể đại diện cho 128 giá trị khác nhau, chạy từ số 0 đến 127. Với 128 mã này, người ta đã gói gọn được các chữ cái tiếng Anh, chữ số, dấu câu và cả các lệnh điều khiển máy tính thời sơ khai.
Bảng mã ASCII là gì?
Nếu ASCII là quy tắc, thì bảng mã ASCII là gì? Nó đơn giản là một biểu đồ tra cứu liệt kê tất cả các ký tự cùng với mã số tương ứng của chúng.
Thông thường, một bảng tra cứu đầy đủ sẽ hiển thị ký tự dưới nhiều định dạng khác nhau để lập trình viên dễ làm việc:
- Số thập phân (Decimal): Hệ cơ số 10 chúng ta dùng hàng ngày.
- Số thập lục phân (Hexadecimal): Hệ cơ số 16 (thường bắt đầu bằng 0x), rất phổ biến trong lập trình và địa chỉ bộ nhớ.
- Số nhị phân (Binary): Hệ cơ số 2 chỉ gồm 0 và 1, là dạng biểu diễn dữ liệu ở mức thấp trong máy tính.
- Ký tự: Hình dáng thực tế mà bạn thấy trên màn hình.
Bảng này cực kỳ hữu ích khi bạn cần kiểm tra xem một phím bấm có mã là bao nhiêu để viết code, xử lý dữ liệu hoặc đơn giản là muốn hiểu tại sao máy tính lại sắp xếp chữ “A” trước chữ “a”.
Bảng mã ASCII hoạt động như thế nào?
Mọi thứ diễn ra khá bài bản theo các bước:
- Gán số: Mỗi chữ cái được gán một con số cố định. Ví dụ chữ “H” là 72.
- Chuyển sang nhị phân: Con số 72 này sẽ được máy tính lưu dưới dạng 01001000.
- Đọc dữ liệu: Khi phần mềm đọc đoạn mã 01001000, nó tra ngược lại bảng mã và biết rằng “À, đây là chữ H”.
- Trao đổi: Vì các hệ thống cùng hiểu ASCII hoặc các chuẩn tương thích với ASCII, nên khi một máy gửi mã 72, máy nhận có thể hiểu đó là chữ H.
Các nhóm ký tự chính trong bảng mã ASCII
Bảng mã này không chỉ toàn chữ cái đâu, nó chia ra làm các nhóm khá rõ rệt:
Ký tự điều khiển trong ASCII (Control characters)
Từ mã số 0 đến 31 (và số 127) là những ký tự không thể in ra màn hình. Ngày xưa, chúng dùng để điều khiển các thiết bị như máy in hoặc máy đánh chữ. Một vài cái tên vẫn còn cực kỳ quan trọng đến tận bây giờ như:
- TAB (9): Phím tab để lùi đầu dòng.
- LF (10): Xuống dòng mới.
- CR (13): Quay đầu dòng.
- ESC (27): Phím thoát.
Ký tự in được trong ASCII (Printable characters)
Từ mã 32 đến 126 là những thứ bạn thấy trên màn hình:
- Chữ số: Từ 0 đến 9 (mã 48 đến 57). Lưu ý nhé, số 0 trong tính toán và chữ số “0” trên màn hình là hai thứ khác hẳn nhau về mã số đấy.
- Chữ cái hoa: A-Z (mã 65 đến 90).
- Chữ cái thường: a-z (mã 97 đến 122). Vì mã số khác nhau nên trong lập trình, “A” và “a” thường được coi là hai thứ riêng biệt.
- Ký hiệu: Các dấu chấm câu, dấu cộng, trừ, hay ký hiệu đặc biệt như @ (mã 64), # (mã 35).
Vì sao bảng mã ASCII vẫn quan trọng?
Dù hiện tại chúng ta đã có những bảng mã khổng lồ, nhưng ASCII vẫn là “nền móng” vì:
- Tính tương thích: Hầu hết các hệ thống mã hóa hiện đại (như UTF-8) đều giữ nguyên 128 ký tự đầu tiên trùng khớp hoàn toàn với ASCII. Nên một file văn bản ASCII thuần túy vẫn đọc được ngon lành ở mọi nơi.
- Sự đơn giản: Với các thiết bị điện tử cơ bản hay lập trình cấp thấp, dùng ASCII cực kỳ nhẹ và nhanh.
- Nền tảng của Internet: Các giao thức mạng, URL, hay tiêu đề email vẫn dựa rất nhiều vào chuẩn ASCII để truyền tin an toàn mà không bị lỗi font.
Phân biệt ASCII, ASCII mở rộng và Unicode
Đây là chỗ mà nhiều bạn hay bị rối.
ASCII tiêu chuẩn chỉ dùng 7-bit (128 ký tự). Nhưng sau đó, người ta thấy 128 chữ là quá ít, không đủ chỗ cho các dấu tiếng Pháp, Đức hay các ký hiệu trang trí. Vì vậy, nhiều bảng mã 8-bit thường được gọi chung là ASCII mở rộng (Extended ASCII), cho phép biểu diễn 256 giá trị từ 0 đến 255. Nhưng ngặt nỗi, mỗi nơi lại có một bảng mở rộng riêng, dẫn đến việc file gửi từ máy này sang máy kia bị lỗi font.
Và rồi Unicode xuất hiện để giải quyết tất cả. Unicode là một chuẩn mã hóa ký tự có phạm vi rất lớn, được thiết kế để biểu diễn chữ viết của nhiều ngôn ngữ, trong đó có tiếng Việt, tiếng Trung, tiếng Nhật và cả emoji. Đặc biệt, 128 điểm mã đầu tiên của Unicode tương thích với ASCII, giúp các văn bản ASCII cơ bản vẫn được xử lý ổn định trong các hệ thống hiện đại.
Cách đọc bảng mã ASCII và ví dụ thực tế
Để tra cứu, bạn chỉ cần tìm đúng cột “Ký tự” và ngó sang các cột mã số.
- Ví dụ chữ “Hi”: Chữ H (mã 72) và chữ i (mã 105). Máy tính sẽ lưu chuỗi số: 72 105.
- Ký hiệu @ có mã thập phân là 64. Trên Windows, trong một số trường hợp, bạn có thể dùng tổ hợp Alt + 64 trên bàn phím số để nhập ký tự @.
Mình thấy việc nắm rõ mã số này cực kỳ có lợi khi bạn làm việc với chuỗi (string) trong lập trình. Chẳng hạn, trong ASCII, nhiều chữ cái hoa và chữ cái thường tương ứng cách nhau 32 đơn vị.
Ví dụ, A có mã 65, a có mã 97, nên khi xử lý chuỗi trong lập trình, quy luật này có thể được dùng để chuyển đổi chữ hoa và chữ thường trong một số trường hợp.
Dù ra đời từ rất sớm, bảng mã ASCII vẫn là một nền tảng quan trọng của thế giới số. Nó nhắc chúng ta rằng, đằng sau những hình ảnh lung linh hay những dòng trạng thái đầy cảm xúc, tất cả chỉ là những con số được sắp xếp một cách thông minh mà thôi. Hy vọng bài viết này giúp bạn hiểu rõ hơn về “ngôn ngữ mẹ đẻ” của máy tính.
Related Posts
Ngôn ngữ máy là gì? Ngôn ngữ lập trình là gì?
Số nhị phân là gì? cách đọc số nhị phân