Bỏ qua đến nội dung chính
FreeOnlineTools Go
Tiếng Việt
So sánh

Base64 vs Mã hóa Hex: Nên Chọn Cái Nào?

Bởi {author} · Đã cập nhật 2026-09-02

Trả lời nhanh

Dùng Base64 khi kích thước quan trọng (tệp đính kèm email, data URLs, API payloads). Dùng Hex khi khả năng đọc quan trọng (debugging, hiển thị hash, mã màu, địa chỉ bộ nhớ). Base64 compact hơn; Hex dễ kiểm tra bằng mắt thường hơn.

Giới thiệu

Base64 và Hex (thập lục phân) đều là lược đồ mã hóa binary-to-text. Base64 mã hóa 3 bytes thành 4 ký tự ASCII (33% overhead). Hex mã hóa 1 byte thành 2 ký tự ASCII (100% overhead). Cả hai đều dùng để biểu diễn dữ liệu binary trong ngữ cảnh văn bản, nhưng khác biệt đáng kể về hiệu quả và khả năng đọc.

Từng bước một

  1. So sánh hiệu quả mã hóa

    Base64: 3 byte → 4 ký tự = 33% chi phí. Hex: 1 byte → 2 ký tự = 100% chi phí. Đối với 1 KB dữ liệu, Base64 tạo ra ~1,33 KB; Hex tạo ra 2 KB. Base64 nhỏ hơn Hex 50% cho cùng một dữ liệu nhị phân.

  2. So sánh khả năng đọc

    Hex sử dụng 16 ký tự (0-9, A-F), mỗi ký tự đại diện cho 4 bit. Bạn có thể dễ dàng đọc các giá trị byte. Base64 sử dụng 64 ký tự (A-Z, a-z, 0-9, +, /), biểu thị mỗi ký tự 6 bit. Đầu ra Base64 khó kiểm tra thủ công hơn vì các byte được phân chia theo ranh giới ký tự.

  3. So sánh các trường hợp sử dụng

    Base64: tệp đính kèm email (MIME), dữ liệu URLs, tải trọng JWT, API truyền dữ liệu nhị phân. Hex: tóm tắt băm (MD5, SHA-256), mã màu (#FF5733), địa chỉ bộ nhớ, địa chỉ MAC, gỡ lỗi nhị phân.

  4. So sánh bộ ký tự và độ an toàn

    Base64 sử dụng + và / không an toàn cho URL. Hex chỉ sử dụng 0-9 và A-F/a-f - luôn URL-safe và tên tệp-safe. Hex an toàn trong mọi bối cảnh; Base64 có thể cần biến thể an toàn URL.

  5. Quyết định dựa trên trường hợp sử dụng của bạn

    Tải trọng email, dữ liệu URLs, JWT, API: Base64 (vấn đề về kích thước). Hiển thị hàm băm, gỡ lỗi, mã màu, địa chỉ bộ nhớ: Hex (vấn đề về khả năng đọc).

Ví dụ

Dữ liệu giống nhau ở dạng Base64 và Hex

đầu vào: Input: 'Hello' (5 bytes) Base64: SGVsbG8= (8 chars) Hex: 48656c6c6f (10 chars)

đầu ra: Base64 is 20% smaller. Hex is easier to inspect (each pair = 1 byte).

Các vấn đề thường gặp

  • Base64 không phải là URL-safe: tiêu chuẩn Base64 sử dụng + và / phá vỡ URLs và tên tệp — sử dụng URL-safe Base64 (- và _) cho ngữ cảnh web.
  • Hex có 100% chi phí kích thước: Hex tăng gấp đôi kích thước dữ liệu (1 byte → 2 ký tự), điều này gây lãng phí khi truyền nhị phân lớn — sử dụng Base64 khi kích thước quan trọng.
  • Base64 sự mơ hồ về phần đệm: Base64 nối thêm = các ký tự đệm mà một số hệ thống loại bỏ hoặc từ chối - xử lý phần đệm một cách nhất quán ở cả hai mặt mã hóa và giải mã.
  • Sự không nhất quán trong trường hợp hex: một số hệ thống sử dụng chữ hoa (A-F), một số hệ thống khác sử dụng chữ thường (a-f) - chuẩn hóa trường hợp trước khi so sánh để tránh sự không khớp sai.

Mẹo

  • Sử dụng Base64 cho tệp đính kèm email, dữ liệu URLs và trọng tải API khi kích thước quan trọng - nó chỉ tốn 33% chi phí so với 100% của Hex.
  • Sử dụng Hex để phân loại băm, mã màu, địa chỉ MAC và gỡ lỗi ở những nơi con người có thể đọc được — mỗi byte là một cặp 2 ký tự hiển thị.
  • Sử dụng URL-safe Base64 (thay + bằng -, / bằng _, dải =) khi mã hóa dữ liệu nhị phân trong URLs, tham số truy vấn hoặc tên tệp.
  • Khi chuyển đổi giữa Base64 và Hex, trước tiên hãy luôn giải mã thành nhị phân thô, sau đó mã hóa lại — đừng bao giờ cố chuyển đổi từng ký tự.

Công cụ liên quan

Hướng dẫn liên quan

Tài liệu tham khảo