Base64

Mã hóa và giải mã các chuỗi Base64

Nhập
Kết quả

Base64 là gì và khi nào được sử dụng?

Base64 đại diện cho các byte tùy ý chỉ bằng 64 ký tự ASCII có thể in (A–Z, a–z, 0–9, `+`, `/`). Nó được sử dụng để nhúng dữ liệu nhị phân vào những nơi mong đợi văn bản — tệp đính kèm email (MIME), URI dữ liệu (`data:image/png;base64,...`), token JWT, tiêu đề xác thực cơ bản, và tệp cấu hình.

Mã hóa thêm khoảng 33% chi phí — ba byte đầu vào trở thành bốn ký tự đầu ra. `btoa`/`atob` gốc của trình duyệt chỉ xử lý chuỗi Latin-1, vì vậy công cụ này bọc chúng với chuyển đổi UTF-8 thích hợp để tránh lỗi 'ký tự ngoài phạm vi' khi mã hóa emoji hoặc văn bản không phải Latin.

Trường hợp sử dụng

  • Nhúng tài sản nhỏ vào dòng — chuyển đổi một pixel theo dõi 1×1 hoặc biểu tượng SVG thành một URI dữ liệu mà bạn có thể dán vào CSS hoặc HTML.
  • Mã hóa nhị phân trong các kênh văn bản thuần — bọc protobuf, hình ảnh, hoặc chữ ký trong Base64 để chúng an toàn khi đi qua JSON, email, hoặc chuỗi truy vấn.
  • Mã hóa các token hoặc ID — điều này xuất ra Base64 tiêu chuẩn; để sử dụng cho URL hoặc tên tệp, hãy tự đổi `+` thành `-` và `/` thành `_`.
  • Kiểm tra JWT và trạng thái OAuth — Giải mã Base64 từng phần của một JWT để đọc tiêu đề và tải trọng mà không cần tin tưởng vào trình gỡ lỗi trực tuyến.

Ví dụ

NhậpKết quả
Hello, World!SGVsbG8sIFdvcmxkIQ==
Café ☕Q2Fmw6kg4piV

Câu hỏi thường gặp

Tại sao `btoa` gốc của trình duyệt lại thất bại với emoji?

`btoa` chỉ chấp nhận các ký tự Latin-1 (một byte). Các chuỗi UTF-8 nhiều byte kích hoạt 'InvalidCharacterError'. Công cụ này mã hóa thành byte UTF-8 trước, sau đó thành Base64 — xử lý bất kỳ Unicode nào.

Base64 an toàn với URL là gì?

Một biến thể thay thế `+` bằng `-` và `/` bằng `_` để chuỗi an toàn trong URL và tên tệp. Lưu ý: công cụ này xuất ra Base64 tiêu chuẩn, vì vậy hãy tự thực hiện việc thay thế nếu bạn cần dạng an toàn cho URL.

Tại sao đầu ra giải mã trông bị rối?

Hoặc là Base64 đã bị hỏng, đã an toàn cho URL (công cụ này giải mã Base64 tiêu chuẩn — hãy đổi `-` trở lại thành `+` và `_` thành `/` trước), hoặc không phải là văn bản ngay từ đầu — Base64 thường mã hóa dữ liệu nhị phân mà không giải mã thành văn bản có thể đọc được.

Base64 có an toàn không?

Không — Base64 là mã hóa, không phải mã hóa. Bất kỳ ai cũng có thể giải mã nó. Sử dụng nó để vận chuyển, không phải để giấu bí mật.

Công cụ có ghi lại thông tin gì không?

Không. Mã hóa và giải mã diễn ra trong trình duyệt của bạn; không có gì được gửi đến máy chủ.