Chuyển hex sang văn bản
Giải mã các chuỗi byte thập lục phân thành ký tự rõ ràng.
Mở một tệp bất kỳ trong trình chỉnh sửa hex, dòng đầu tiên thường trông như các ký tự ngẫu nhiên — chẳng hạn 89 50 4E 47. Đó không phải là dữ liệu vô nghĩa. Bốn byte đó tạo thành chữ ký nhận dạng, và khi bạn dịch hex sang văn bản, định dạng tệp sẽ lộ diện ngay lập tức.
Cơ chế dịch hai chữ số hex thành một ký tự văn bản
Văn bản lưu dưới dạng hex là một chuỗi các giá trị byte viết theo từng cặp hai chữ số, mỗi cặp bao quát toàn bộ phạm vi 00-FF của một byte. Khi chuyển 41, bạn nhận được giá trị thập phân 65, tương ứng chữ cái A trong bảng mã ASCII. Chuyển 6C, bạn nhận được 108, tức chữ cái l.
Ghép các cặp đó lại với nhau, bạn sẽ thu được một từ hoàn chỉnh: chuỗi 48 65 6C 6C 6F tương ứng H, e, l, l, o — tạo thành từ ‘Hello’. Quá trình giải mã hex sang văn bản chỉ đơn giản là đối chiếu từng giá trị byte sang ký tự tương ứng cho mọi cặp số.
Nhận biết định dạng tệp nhờ công cụ hex sang văn bản
Phần lớn các định dạng tệp bắt đầu bằng một chuỗi cố định gọi là magic number, giúp phần mềm nhận biết định dạng trước khi đọc phần nội dung còn lại. Một hình ảnh PNG luôn bắt đầu bằng các byte hex 89 50 4E 47. Khi chuyển sang dạng chữ, ba byte 50 4E 47 chính là chữ PNG.
Tệp tài liệu PDF mở đầu bằng 25 50 44 46, giải mã thành %PDF — chuỗi ký tự đứng đầu mọi tệp PDF kèm phiên bản ngay phía sau. Tệp nén ZIP bắt đầu bằng 50 4B 03 04, trong đó 50 4B dịch ra hai chữ PK, gợi nhớ tên tác giả Phil Katz.
Chữ ký tệp phổ biến khi chuyển hex sang văn bản
| Định dạng | Các byte hex đầu tiên | Hiển thị dạng chữ |
|---|---|---|
| PNG image | 89 50 4E 47 | •PNG |
| PDF document | 25 50 44 46 | |
| ZIP archive | 50 4B 03 04 | PK.. |
| GIF image | 47 49 46 38 | GIF8 |
| JPEG image | FF D8 FF | not printable text |
Lý do hex là chuẩn hiển thị khi chuyển đổi sang văn bản
- Một byte có giá trị từ 0 đến 255, và hai chữ số hex bao phủ trọn vẹn khoảng giá trị đó mà không chiếm chỗ thừa.
- Mỗi byte chiếm đúng một độ rộng cột cố định, giúp việc quan sát dữ liệu thẳng hàng qua hàng nghìn dòng.
- Hex ánh xạ chuẩn xác sang nhị phân theo từng nhóm bốn bit, nên một byte luôn gồm đúng hai chữ số thay vì số lượng cồng kềnh như hệ bát phân ba chữ số.
- Các công cụ kiểm tra và gỡ lỗi đã chuẩn hóa định dạng này qua nhiều thập kỷ, biến nó thành lựa chọn tương thích cho mọi phần mềm xử lý dữ liệu.
Thắc mắc thường gặp khi chuyển hex sang văn bản
Vì sao kết quả dịch hex đôi khi xuất hiện ký tự lạ?
Không phải giá trị byte nào cũng là ký tự in được. Các byte nằm ngoài vùng chữ cái và dấu câu thông thường, hoặc thuộc bảng mã nhiều byte như UTF-8, sẽ hiển thị dưới dạng mã điều khiển hoặc ký hiệu thay thế thay vì chữ đọc được.
Magic number ở đầu tệp có tác dụng gì?
Đó là chuỗi byte cố định ở phần đầu nhằm xác định định dạng tệp. Hệ điều hành và thư viện kiểm tra chữ ký này thay vì tin vào đuôi tệp, do đó việc đổi tên đuôi từ .png sang .txt không thay đổi bản chất của tệp.
Tất cả tệp văn bản có chứa chữ ký nhận dạng không?
Không. Tệp văn bản thuần túy không có tiêu đề bắt buộc, nên khi chuyển hex sang văn bản, bạn sẽ nhận được nội dung trực tiếp mà không có tiền tố định dạng nào ở đầu.
Bộ chuyển đổi hex sang văn bản có xử lý được dấu cách không?
Có. Mọi ký tự ASCII in được, bao gồm khoảng trắng, chữ số và dấu câu, đều có giá trị byte riêng và được chuyển đổi chính xác như các chữ cái.
Chuyển hex sang văn bản có giống giải mã Base64 không?
Không, đây là hai cách mã hóa hoàn toàn khác nhau. Hex biểu diễn mỗi byte bằng hai ký tự từ 0-9 và A-F; Base64 gom nhóm ba byte thành bốn ký tự từ bảng 64 ký hiệu và cho kết quả ngắn gọn hơn.