Mã hóa/Giải mã Base64 (Văn bản)

Loading dropzone…

Input

Output

Giới thiệu về bộ mã hóa Base64 này Bộ Mã Hóa Base64 Trực Tuyến

Một phần của Encode64 “Base64 Studio”, bộ mã hóa này biến văn bản, JSON và tài sản nhị phân nhỏ thành chuỗi Base64 sẵn sàng để dán vào tiêu đề, HTML/CSS, biến môi trường hoặc bộ kiểm thử. Không cần đăng nhập, không cần cài đặt và không xử lý phía máy chủ.

Tại Sao Sử Dụng Bộ Mã Hóa Base64 Này

  • Mã hóa Base64 tức thì cho văn bản, JSON và tải trọng nhị phân nhỏ
  • Hỗ trợ tệp (văn bản, hình ảnh, nhị phân) để chuyển đổi nhanh thành chuỗi Base64
  • Tùy chọn an toàn URL cho JWT, tham số truy vấn và ngữ cảnh web an toàn
  • Tùy chọn ngắt dòng để mô phỏng công cụ CLI hoặc định dạng email/PEM
  • Sao chép một cú nhấp để dễ dàng tái sử dụng trong tiêu đề, cấu hình và mã
  • Giao diện người dùng đáp ứng hoạt động tốt trên máy tính và di động
  • Mã hóa diễn ra trong trình duyệt của bạn — dữ liệu không được gửi đến máy chủ từ xa

🔧 Cách Mã Hóa Base64 Hoạt Động (Từng Bước) for base64-encoder

1

Cung cấp đầu vào

Dán văn bản, JSON hoặc đoạn mã vào khu vực đầu vào, hoặc thả tệp để chuyển đổi byte thô của nó thành Base64. Công cụ đọc byte chính xác như chúng vốn có.

2

Chuyển đổi thành byte

Bộ mã hóa chuyển đổi ký tự (như văn bản UTF-8) hoặc nội dung tệp thành byte. Mỗi byte là một giá trị 8-bit từ 0 đến 255.

3

Nhóm lại bit thành chỉ số Base64

Mỗi 3 byte (3 × 8 = 24 bit) được nhóm lại thành 4 nhóm 6 bit (4 × 6 = 24). Mỗi nhóm 6 bit là một chỉ số trong bảng chữ cái Base64.

4

Ánh xạ thành ký tự Base64 & đệm

Mỗi chỉ số 6-bit được chuyển đổi thành một ký tự Base64. Nếu đầu vào không chia hết cho 3 byte, ký tự '=' được thêm vào để độ dài đầu ra luôn là bội số của 4 ký tự.

Thông Số Kỹ Thuật

Bộ Ký Tự (RFC 4648)

Bộ mã hóa này sử dụng bảng chữ cái Base64 tiêu chuẩn được định nghĩa bởi RFC 4648.

Phạm vi / LoạiKý tựGhi chú
Chỉ số 0–25A–ZChữ in hoa
Chỉ số 26–51a–zChữ thường
Chỉ số 52–610–9Chữ số
Chỉ số 62–63+ /Ký hiệu Base64 chuẩn
Đệm=Đảm bảo độ dài đầu ra là bội số của 4

Kích thước & Phần dư

Base64 đánh đổi kích thước để đảm bảo an toàn trong các kênh chỉ văn bản. Dự kiến dữ liệu sau khi mã hóa sẽ tăng khoảng một phần ba.

Kích thước gốcKích thước Base64 (xấp xỉ)Phần dư
3 byte4 ký tựLớn hơn ~33%
1 KB≈ 1.37 KB~37% bao gồm đệm và dòng mới
1 MB≈ 1.37 MBTỷ lệ tương tự ở quy mô lớn hơn
Sử dụng Base64 khi bạn cần truyền tải văn bản an toàn (ví dụ: tiêu đề HTTP, JSON, HTML), không phải như một phương pháp nén.

Hiệu suất & Giới hạn Thực tế

Bản thân việc mã hóa rất nhanh, nhưng bộ đệm lớn có thể ảnh hưởng đến bộ nhớ và khả năng phản hồi của trình duyệt.

Kích thước tải trọngTrải nghiệm người dùngKhuyến nghị
Vài KBTức thìLý tưởng cho tiêu đề, đoạn cấu hình và dữ liệu kiểm thử
100 KB – 1 MBPhản hồi rất nhanhĐiển hình cho tải trọng API và dữ liệu cố định
1–5 MBNhìn chung ổn trên phần cứng hiện đạiCân nhắc công cụ CLI nếu bạn thường xuyên làm điều này
> 5–10 MBCó thể cảm thấy chậm hoặc nặng bộ nhớ trong trình duyệtSử dụng bộ mã hóa luồng hoặc tiện ích dòng lệnh

Mã Hóa Base64 Dòng Lệnh

Đối với tập tin lớn, tự động hóa hoặc quy trình làm việc CI, hãy sử dụng tiện ích Base64 gốc trên nền tảng của bạn.

Linux / 🍏 macOS

Mã hóa một chuỗi

echo -n 'text' | base64

Mã hóa chuỗi 'text' thành Base64 mà không thêm dòng mới.

Mã hóa một tập tin

base64 input.bin > output.b64

Đọc dữ liệu nhị phân từ input.bin và ghi văn bản Base64 vào output.b64.

Windows / PowerShell

Mã hóa chuỗi với PowerShell

[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("text"))

Chuyển đổi byte UTF-8 của 'text' thành chuỗi Base64.

Mã hóa tập tin với certutil (CMD)

certutil -encode input.bin output.b64

Sử dụng công cụ tích hợp sẵn của Windows để tạo tập tin mã hóa Base64.

Ứng Dụng Thực Tiễn

Phát Triển Web & Data URIs

Nhúng trực tiếp tài sản và tài nguyên nhỏ vào HTML, CSS hoặc JavaScript.

  • Tạo data:image/...;base64,... cho logo, biểu tượng và hình ảnh nhỏ.
  • Nhúng phông chữ hoặc nội dung SVG trong quy tắc CSS.
  • Lưu trữ tải trọng nhỏ trong LocalStorage dưới dạng chuỗi Base64.
<img src="data:image/png;base64,iVBORw0KGgo...">
document.styleSheets[0].insertRule("@font-face{src:url('data:font/woff2;base64,...')}" );

Phát Triển API & Tiêu Đề

Vận chuyển thông tin xác thực và tải trọng nhỏ an toàn qua các kênh chỉ văn bản.

  • Xây dựng tiêu đề Authorization: Basic từ cặp tên người dùng:mật khẩu.
  • Mã hóa tải trọng JSON thành Base64 cho tiêu đề tùy chỉnh hoặc tham số truy vấn.
  • Bao gói dữ liệu nhị phân trong JSON dưới dạng chuỗi Base64.
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
fetch(url, { headers: { 'X-Payload': btoa(JSON.stringify(data)) } });

Kiểm Thử, Dữ Liệu Mẫu & Gỡ Lỗi

Xây dựng dữ liệu mẫu ổn định, chỉ văn bản cho các bài kiểm tra và phiên gỡ lỗi.

  • Mã hóa dữ liệu mẫu nhị phân (hình ảnh, PDF) và nhúng chúng vào mã kiểm tra.
  • Lưu trữ tải trọng mẫu dưới dạng chuỗi Base64 thay vì cam kết tập tin nhị phân.
  • Tạo mẫu tải trọng cho các dịch vụ yêu cầu trường mã hóa Base64.
// Ví dụ: Kiểm thử Jest sử dụng dữ liệu cố định Base64
const payload = Buffer.from(base64Fixture, 'base64');
expect(processPayload(payload)).toBeTruthy();

❓ Frequently Asked Questions

Tại sao Base64 sử dụng ký tự đệm '='?

Base64 nhóm đầu vào thành các khối 3 byte (24 bit) và xuất ra 4 ký tự (4 × 6 bit). Khi độ dài đầu vào không chia hết cho 3, ký tự đệm '=' được thêm vào để chỉ ra khối cuối ngắn hơn. Việc đệm này là một phần của định dạng mã hóa, không phải dữ liệu gốc.

🔗Làm thế nào để tạo Base64 an toàn cho URL?

Base64 an toàn cho URL thay thế '+' bằng '-' và '/' bằng '_', và thường loại bỏ ký tự đệm '=' ở cuối. Nhiều thư viện có chế độ an toàn URL. Nếu cần làm thủ công, hãy bắt đầu từ Base64 chuẩn, sau đó áp dụng các thay thế này và cắt bỏ '=' cho trường hợp sử dụng của bạn.

🔒Mã hóa Base64 có phải là biện pháp bảo mật không?

Không. Base64 là một **mã hóa** có thể đảo ngược giúp dữ liệu nhị phân an toàn khi truyền dưới dạng văn bản (ví dụ trong JSON, HTML hoặc tiêu đề). Bản thân nó không cung cấp tính bảo mật hay toàn vẹn. Luôn sử dụng HTTPS/TLS và mật mã học phù hợp (như AES hoặc các hệ thống khóa công khai) để bảo mật.

📏Kích thước tệp tối đa tôi nên mã hóa ở đây là bao nhiêu?

Bộ mã hóa trực tuyến này hoạt động tốt nhất với tải trọng lên đến vài megabyte. Các tệp nhị phân lớn hơn vẫn có thể hoạt động nhưng có thể chậm hoặc tốn nhiều bộ nhớ trong trình duyệt. Đối với tệp lớn, các công cụ dòng lệnh hoặc bộ mã hóa luồng sẽ mạnh mẽ hơn.

Pro Tips

Best Practice

Đối với tài sản rất nhỏ (< 10 KB), nhúng dưới dạng URI dữ liệu Base64 có thể giảm yêu cầu HTTP, nhưng tránh làm điều này với hình ảnh hoặc phông chữ lớn.

Best Practice

Chỉ ghi lại tải trọng Base64 bị cắt ngắn (hoặc mã băm) trong môi trường sản xuất để tránh rò rỉ nội dung nhạy cảm trong nhật ký.

Best Practice

Nếu backend của bạn mong đợi Base64, hãy xác thực và chuẩn hóa đầu vào phía máy chủ để từ chối các tải trọng không đúng định dạng hoặc quá lớn.

Additional Resources

Other Tools