Base64 sang Hex
Chuyển đổi giữa Base64 và hệ thập lục phân
Base64
Hex
Chuyển đổi Base64 sang Hex là gì?
Chuyển đổi Base64 sang hex biến đổi dữ liệu giữa hai sơ đồ mã hóa nhị phân sang văn bản phổ biến. Base64 biểu diễn dữ liệu nhị phân bằng 64 ký tự ASCII (A-Z, a-z, 0-9, +, /), mã hóa mỗi 3 byte thành 4 ký tự. Hệ thập lục phân biểu diễn mỗi byte bằng đúng hai ký tự từ bảng chữ cái 16 ký hiệu (0-9, a-f). Chuyển đổi giữa các định dạng này là quy trình hai bước: giải mã chuỗi Base64 thành các byte thô, rồi mã hóa lại các byte đó theo định dạng đích.
Ký hiệu thập lục phân là cách biểu diễn chuẩn cho dữ liệu nhị phân trong lập trình cấp thấp, mật mã học và các giao thức mạng. Mỗi ký tự hex ánh xạ trực tiếp tới một nibble 4 bit, giúp dễ dàng đọc từng giá trị byte. Ví dụ, hàm băm SHA-256 hầu như luôn được hiển thị dưới dạng chuỗi hex 64 ký tự. Ngược lại, Base64 được tối ưu cho tính gọn nhẹ — cùng hàm băm đó chỉ cần 44 ký tự trong Base64 — và là mã hóa chuẩn cho tệp đính kèm email (MIME), data URI và payload API.
Cả hai mã hóa đều được định nghĩa trong RFC 4648. Việc chuyển đổi giữa chúng là không mất dữ liệu: không có dữ liệu nào được thêm vào hay xóa đi, chỉ có cách biểu diễn văn bản thay đổi. Điều này làm cho việc chuyển đổi Base64 sang hex trở thành thao tác thường gặp khi gỡ lỗi các payload được mã hóa, kiểm tra dấu vân tay chứng chỉ, hoặc xác minh đầu ra hàm băm trên các hệ thống sử dụng định dạng hiển thị khác nhau.
Tại sao dùng công cụ chuyển đổi Base64 sang Hex này?
Công cụ này chuyển đổi giữa Base64 và hệ thập lục phân trực tiếp trong trình duyệt của bạn. Không có dữ liệu nào rời khỏi máy của bạn, và quá trình chuyển đổi diễn ra theo thời gian thực khi bạn nhập.
Trường hợp sử dụng Base64 sang Hex
So sánh mã hóa Base64 và Hệ thập lục phân
Base64 và hệ thập lục phân đều chuyển đổi dữ liệu nhị phân thành văn bản có thể in được, nhưng chúng có sự đánh đổi khác nhau giữa tính gọn nhẹ và khả năng đọc. Bảng dưới đây tóm tắt các điểm khác biệt chính.
| Thuộc tính | Base64 | Hexadecimal |
|---|---|---|
| Bảng chữ cái | A-Z a-z 0-9 + / = | 0-9 a-f |
| Bit trên mỗi ký tự | 6 | 4 |
| Mức tăng kích thước | ~33% lớn hơn dữ liệu thô | 100% lớn hơn dữ liệu thô |
| Khả năng đọc | Gọn nhưng khó đọc | Mỗi byte hiển thị dưới dạng 2 ký tự |
| Sử dụng chính | Email, data URI, API | Hàm băm mật mã, địa chỉ MAC, màu sắc |
| Đặc tả | RFC 4648 | IEEE 754, RFC 4648 sec 8 |
Ví dụ chuyển đổi
Bảng dưới đây cho thấy các chuỗi byte giống nhau trong biểu diễn Base64 và thập lục phân. Lưu ý rằng kết quả hex luôn bằng đúng hai lần số byte, trong khi độ dài Base64 bằng ceil(byteCount / 3) * 4.
| Đầu vào (văn bản / byte) | Base64 | Hex |
|---|---|---|
| Hello | SGVsbG8= | 48656c6c6f |
| AB | QUI= | 4142 |
| 0xFF | MHhGRg== | 30784646 |