Mã hóa/Giải mã Base64 (Văn bản)
Input
Output
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
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ó.
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.
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.
Á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ại | Ký tự | Ghi chú |
|---|---|---|
| Chỉ số 0–25 | A–Z | Chữ in hoa |
| Chỉ số 26–51 | a–z | Chữ thường |
| Chỉ số 52–61 | 0–9 | Chữ 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ốc | Kích thước Base64 (xấp xỉ) | Phần dư |
|---|---|---|
| 3 byte | 4 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 MB | Tỷ lệ tương tự ở quy mô lớn hơ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ọng | Trải nghiệm người dùng | Khuyến nghị |
|---|---|---|
| Vài KB | Tức thì | Lý tưởng cho tiêu đề, đoạn cấu hình và dữ liệu kiểm thử |
| 100 KB – 1 MB | Phản hồi rất nhanh | Điển hình cho tải trọng API và dữ liệu cố định |
| 1–5 MB | Nhìn chung ổn trên phần cứng hiện đại | Cân nhắc công cụ CLI nếu bạn thường xuyên làm điều này |
| > 5–10 MB | Có thể cảm thấy chậm hoặc nặng bộ nhớ trong trình duyệt | Sử 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' | base64Mã 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.b64Sử 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?
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?
Pro Tips
Đố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.
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ý.
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
- Bộ Làm Đẹp CSS
- Bộ Làm Đẹp HTML
- Bộ Làm Đẹp Javascript
- Bộ Làm Đẹp PHP
- Bộ Chọn Màu
- Bộ Trích Xuất Sprite
- Bộ Giải Mã Base64
- Bộ Định Dạng Csharp
- Bộ Định Dạng CSV
- Dockerfile Formatter
- Bộ Định Dạng Elm
- Bộ Định Dạng ENV
- Bộ Định Dạng Go
- Bộ Định Dạng GraphQL
- Bộ Định Dạng HCL
- Bộ Định Dạng INI
- Bộ Định Dạng JSON
- Bộ Định Dạng Latex
- Bộ Định Dạng Markdown
- Bộ Định Dạng ObjectiveC
- Php Formatter
- Bộ Định Dạng Proto
- Bộ Định Dạng Python
- Bộ Định Dạng Ruby
- Bộ Định Dạng Rust
- Bộ Định Dạng Scala
- Bộ Định Dạng Tập Lệnh Shell
- Bộ Định Dạng SQL
- Trình Định Dạng SVG
- Trình Định Dạng Swift
- Trình Định Dạng TOML
- Typescript Formatter
- Trình Định Dạng XML
- Trình Định Dạng YAML
- Trình Định Dạng Yarn
- Bộ Thu Nhỏ CSS
- Html Minifier
- Javascript Minifier
- Bộ Thu Nhỏ JSON
- Trình Thu Nhỏ XML
- Trình Xem Tiêu Đề HTTP
- PDF Sang Văn Bản
- Bộ Kiểm Tra Regex
- Bộ Kiểm Tra Xếp Hạng SERP
- Tra Cứu Whois