Bảng ASCII
Tham chiếu ASCII đầy đủ 0–127 với decimal, hex, binary, ký tự và HTML entity. Có thể lọc.
Tạo bởi JXXR1 · ♥ Tài trợ · ☕ Mời tôi một ly cà phê
Công cụ này để làm gì?
ASCII (American Standard Code for Information Interchange) là hệ thống mã hóa 128 ký tự ánh xạ chữ số, chữ cái, dấu câu và một vài mã điều khiển lên các số nguyên 0–127. Đây là nền tảng mà mọi mã hóa văn bản hiện đại (UTF-8, Latin-1, Windows-1252) mở rộng, nên đôi khi việc biết các giá trị là rất quan trọng — chẩn đoán một byte lạ trong file nhị phân, viết regex cho "bất kỳ ký tự in được nào", đọc hex dump, hoặc nhớ xem 0x0A hay 0x0D là newline.
Khi nào nên dùng
- Đọc một hex dump và cố hiểu các byte đó nói gì.
- Viết parser và cần các giá trị biên:
0x20(space),0x7E(tilde) — dải in được. - Debug một CSV bị hỏng vì có chứa
0x09(Tab) hoặc0x1F(Unit Separator). - Tạo HTML entity cho một ký tự khó —
A=A. - Kết thúc tranh luận xem
có phải là 0x0D không (đúng — Carriage Return) vàlà 0x0A (đúng — Line Feed).
Lưu ý thường gặp
- ASCII là 7-bit, không phải 8-bit. Mã 128–255 không phải ASCII — chúng thuộc về bất kỳ mã hóa 8-bit nào (Latin-1, CP-1252, …) mà tài liệu khai báo, hoặc là byte đầu của một chuỗi UTF-8.
- Newline khác nhau theo nền tảng. Unix/macOS chỉ dùng
LF(0x0A); Mac Classic cũ dùngCR(0x0D); Windows dùngCRLF. File trộn lẫn chúng sẽ phá vỡ việc đếm dòng ngây thơ. - Ký tự điều khiển có thể là kẻ phá hoại vô hình. Copy/paste từ terminal hoặc PDF có thể mang theo
0x1F,0x07(BEL — thực sự kêu bíp terminal), hoặc ký tự Unicode zero-width không hề là ASCII. Nếu văn bản "trông giống nhau" nhưng so sánh không bằng, hãy dump ra byte. - HTML entity không phải lúc nào cũng cần. Trong tài liệu UTF-8 hiện đại,
Avà chữAliteral là tương đương. Chỉ escape ký tự có ý nghĩa cú pháp trong HTML:&,<,>và"trong attribute. - NUL (
0x00) kết thúc string trong C. Đừng nhúng nó vào buffer C-string mà không suy nghĩ — nhiều API sẽ âm thầm cắt ở NUL đầu tiên.