Công cụ chuyển mã ASCII sang văn bản là gì?
Công cụ này biến một danh sách các số ASCII thập phân (hoặc điểm mã Unicode) trở lại thành đoạn văn bản mà chúng đại diện. ASCII gán một con số cho mỗi chữ cái, chữ số và ký hiệu — ví dụ 65 là "A", 97 là "a", còn 32 là dấu cách. Bằng cách tra cứu ký tự ứng với từng số rồi ghép lại, bạn khôi phục được thông điệp ban đầu.
Cách sử dụng
Gõ hoặc dán các mã thập phân của bạn vào ô nhập, mỗi giá trị cách nhau bằng dấu cách hoặc dấu phẩy. Chẳng hạn, 72 101 108 108 111 sẽ giải mã thành "Hello". Bạn có thể trộn lẫn các dấu phân tách, và mọi giá trị nằm ngoài khoảng hợp lệ (0 đến 1.114.111) sẽ bị bỏ qua. Nhấn tính toán để xem chuỗi đã giải mã cùng số lượng ký tự thu được.
Giải thích công thức
Với mỗi mã cᵢ, công cụ tính chr(cᵢ) — ký tự có điểm mã đúng bằng con số đó — rồi nối các kết quả theo thứ tự:
$$\text{Text} = \bigoplus_{i} \,\text{char}\!\left(\text{ASCII Code}_i\right)$$Đây chính là phép nghịch đảo của việc lấy giá trị ord() của mỗi ký tự.
Ví dụ minh họa
Cho các mã 67, 97, 116: \(67 \to \text{"C"}\), \(97 \to \text{"a"}\), \(116 \to \text{"t"}\). Khi ghép lại, kết quả là "Cat" với số ký tự là 3.
Bảng Tham Chiếu Mã ASCII
Tập hợp ASCII tiêu chuẩn (American Standard Code for Information Interchange) xác định 128 ký tự được ánh xạ tới các mã thập phân từ 0 đến 127. Các mã 0–31 (cộng với 127) là ký tự điều khiển không in được, mã 32 là khoảng trắng, và các mã còn lại là các chữ cái, chữ số và ký hiệu có thể in được. Để giải mã một chuỗi như 72 105, hãy tra cứu từng số dưới đây: 72 → H và 105 → i, cho kết quả là văn bản Hi.
Ký Tự Điều Khiển (0–31) và Xóa (127)
| Thập phân | Viết tắt | Tên |
|---|---|---|
| 0 | NUL | Null |
| 1 | SOH | Bắt đầu Tiêu đề |
| 2 | STX | Bắt đầu Văn bản |
| 3 | ETX | Kết thúc Văn bản |
| 4 | EOT | Kết thúc Truyền dẫn |
| 5 | ENQ | Truy vấn |
| 6 | ACK | Xác nhận |
| 7 | BEL | Chuông |
| 8 | BS | Backspace |
| 9 | HT | Tab Ngang |
| 10 | LF | Xuống dòng (newline) |
| 11 | VT | Tab Dọc |
| 12 | FF | Trang mới |
| 13 | CR | Trả về đầu dòng |
| 14 | SO | Chuyển ra |
| 15 | SI | Chuyển vào |
| 16 | DLE | Thoát liên kết dữ liệu |
| 17 | DC1 | Điều khiển thiết bị 1 (XON) |
| 18 | DC2 | Điều khiển thiết bị 2 |
| 19 | DC3 | Điều khiển thiết bị 3 (XOFF) |
| 20 | DC4 | Điều khiển thiết bị 4 |
| 21 | NAK | Xác nhận phủ định |
| 22 | SYN | Chờ đợi đồng bộ |
| 23 | ETB | Kết thúc khối truyền dẫn |
| 24 | CAN | Hủy |
| 25 | EM | Kết thúc phương tiện |
| 26 | SUB | Thay thế |
| 27 | ESC | Escape |
| 28 | FS | Dấu phân cách tệp |
| 29 | GS | Dấu phân cách nhóm |
| 30 | RS | Dấu phân cách bản ghi |
| 31 | US | Dấu phân cách đơn vị |
| 127 | DEL | Xóa |
Ký Tự In Được (32–126)
| Thập phân | Ký tự | Ghi chú |
|---|---|---|
| 32 | (khoảng trắng) | Khoảng trắng |
| 33 | ! | Dấu ch감thán |
| 34 | " | Dấu ngoặc kép |
| 35 | # | Dấu số / hash |
| 36 | $ | Ký hiệu đô la |
| 37 | % | Phần trăm |
| 38 | & | Ký hiệu và |
| 39 | ' | Dấu nháy đơn |
| 40 | ( | Dấu ngoặc tròn bên trái |
| 41 | ) | Dấu ngoặc tròn bên phải |
| 42 | * | Dấu hoa thị |
| 43 | + | Cộng |
| 44 | , | Dấu phẩy |
| 45 | - | Dấu gạch ngang / trừ |
| 46 | . | Dấu chấm |
| 47 | / | Dấu gạch chéo |
| 48 | 0 | Chữ số không |
| 49 | 1 | Chữ số |
| 50 | 2 | Chữ số |
| 51 | 3 | Chữ số |
| 52 | 4 | Chữ số |
| 53 | 5 | Chữ số |
| 54 | 6 | Chữ số |
| 55 | 7 | Chữ số |
| 56 | 8 | Chữ số |
| 57 | 9 | Chữ số chín |
| 58 | : | Dấu hai chấm |
| 59 | ; | Dấu chấm phẩy |
| 60 | < | Nhỏ hơn |
| 61 | = | Bằng |
| 62 | > | Lớn hơn |
| 63 | ? | Dấu hỏi |
| 64 | @ | Ký hiệu at |
| 65 | A | Chữ A in hoa |
| 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 | Chữ Z in hoa |
| 91 | [ | Dấu ngoặc vuông bên trái |
| 92 | \ | Dấu gạch chéo ngược |
| 93 | ] | Dấu ngoặc vuông bên phải |
| 94 | ^ | Dấu mũ |
| 95 | _ | Dấu gạch dưới |
| 96 | ` | Dấu huyền |
| 97 | a | Chữ a in thường |
| 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 | Chữ z in thường |
| 123 | { | Dấu ngoặc nhọn bên trái |
| 124 | | | Thanh dọc |
| 125 | } | Dấu ngoặc nhọn bên phải |
| 126 | ~ | Dấu ngã |
Ví dụ, các mã 72 101 108 108 111 được giải mã thành Hello sử dụng bảng này.
Câu hỏi thường gặp
Tôi có thể dùng những dấu phân tách nào? Dấu cách, dấu phẩy, dấu tab hay dấu xuống dòng đều dùng được — và bạn có thể kết hợp chúng tùy ý.
Công cụ có hỗ trợ mã mở rộng/Unicode không? Có. ASCII chuẩn chỉ bao gồm 0–127, nhưng công cụ chấp nhận điểm mã lên tới 1.114.111, nên nó xử lý được cả ký tự Latinh mở rộng lẫn nhiều ký hiệu Unicode khác.
Các giá trị không hợp lệ thì sao? Số âm, chữ không phải số và những giá trị vượt khoảng cho phép sẽ bị bỏ qua, nhờ vậy phần còn lại trong dữ liệu của bạn vẫn được giải mã trọn vẹn.