Công cụ chuyển Hex sang ASCII là gì?
Công cụ chuyển Hex sang ASCII giúp bạn biến các con số ở hệ thập lục phân trở lại thành những ký tự văn bản mà chúng đại diện. Máy tính lưu mọi ký tự dưới dạng một con số, và hệ thập lục phân (hệ cơ số 16) là cách viết gọn gàng cho các giá trị byte đó. Công cụ này đọc chuỗi hex bạn nhập vào, tách thành từng cặp chữ số, chuyển mỗi cặp thành giá trị số tương ứng, rồi ánh xạ giá trị đó sang ký tự — và bạn nhận lại văn bản gốc.
Cách sử dụng
Dán hoặc gõ chuỗi thập lục phân của bạn vào ô nhập liệu. Bạn có thể ngăn cách các byte bằng dấu cách, dấu phẩy, hoặc viết liền thành một chuỗi duy nhất — công cụ cũng tự động bỏ qua mọi tiền tố 0x. Nhấn nút tính toán và văn bản đã giải mã sẽ hiện ra ngay lập tức, kèm theo số lượng byte đã được giải mã.
Giải thích công thức
Hex là hệ cơ số 16, vì vậy hai chữ số hex biểu diễn một byte với giá trị từ 0 đến 255. Với mỗi cặp p, ta tính int(p, 16) để có mã thập phân, rồi dùng chr(code) để lấy ký tự.
$$\text{ASCII} = \bigsqcup_{k=0}^{n-1} \text{char}\Big(\,\text{hex}_{16}\big(\,\text{Hex Input}[2k\,..\,2k{+}1]\big)\Big)$$
Ví dụ, cặp 48 bằng \(4\times16 + 8 = 72\), và ký tự thứ 72 chính là chữ cái in hoa H.
Ví dụ minh họa
Lấy chuỗi hex 48 65 6C 6C 6F. Chuyển từng cặp: \(48 \to 72 \to \text{"H"}\), \(65 \to 101 \to \text{"e"}\), \(6C \to 108 \to \text{"l"}\), \(6C \to 108 \to \text{"l"}\), \(6F \to 111 \to \text{"o"}\). Ghép lại ta được Hello.
Câu hỏi thường gặp
Tôi có cần đặt dấu cách giữa các byte không? Không cần. Dấu cách, dấu phẩy và tiền tố 0x đều là tùy chọn và sẽ được tự động loại bỏ trước khi giải mã.
Nếu tôi nhập số chữ số lẻ thì sao? Chữ số lẻ cuối cùng không ghép cặp được sẽ bị bỏ qua, vì một byte hợp lệ cần đủ hai chữ số hex.
Có bắt buộc viết hoa hay viết thường không? Cả hai đều được — 6c và 6C cho ra kết quả giải mã giống hệt nhau.