Mã hóa/Giải mã Base64 (Văn bản)
⚡ Bộ mã hóa Base64 trực tuyến miễn phí cho nhà phát triển và người dùng chuyên nghiệp. Chuyển đổi ngay lập tức văn bản, JSON và tệp nhị phân thành chuỗi Base64. 🔐 Hoàn hảo cho API, tiêu đề, URI dữ liệu và kiểm thử. Mọi mã hóa đều diễn ra trong trình duyệt của bạn.
Tại Sao Nên Dùng Bộ Mã Hóa Base64 Này
- Mã hóa Base64 tức thì cho văn bản, JSON và các tải trọng nhị phân nhỏ
- Hỗ trợ tệp (văn bản, hình ảnh, tệp 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 an toàn web
- 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 chuột để 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 để bàn và thiết bị di động
- Quá trình mã hóa diễn ra trong trình duyệt của bạn — dữ liệu của bạn 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ã của bạn vào khu vực đầu vào, hoặc thả một 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
Cứ 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ạ sang 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ự đệm '=' đượ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ữ cái viết 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 & Chi phí phụ
Base64 đánh đổi kích thước để đảm bảo an toàn trong các kênh chỉ văn bả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ỉ) | Chi phí phụ |
|---|---|---|
| 3 byte | 4 ký tự | Lớn hơn ~33% |
| 1 KB | ≈ 1.37 KB | ~37% bao gồm ký tự đệm và xuống dòng |
| 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ớ trình duyệt và khả năng phản hồi.
| 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 thử nghiệm |
| 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 thực hiện thường xuyên |
| > 5–10 MB | Có thể cảm thấy chậm hoặc nặng bộ nhớ trên 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 Trên Dòng Lệnh
Đối với tệp 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
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 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 được mã hóa Base64.
Ứng Dụng Thực Tế
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.
- Đóng 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 thử.
- Lưu trữ tải trọng mẫu dưới dạng chuỗi Base64 thay vì cam kết các tệp nhị phân.
- Tạo mẫu tải trọng cho các dịch vụ yêu cầu các trường được 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 lại sử dụng ký tự '=' để đệm?
Base64 nhóm dữ liệu đầ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, các ký tự đệm '=' được thêm vào để chỉ ra rằng khối cuối cùng 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 cho URL. Nếu bạn cần thực hiện thủ công, hãy bắt đầu từ Base64 tiêu 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à một 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 để truyền tải 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à các phương pháp mã hóa phù hợp (như AES hoặc các sơ đồ khóa công khai) cho mục đích 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 các tài nguyên rất nhỏ (< 10 KB), việc 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 cho hình ảnh hoặc phông chữ lớn.
Chỉ ghi lại các tải trọng Base64 bị cắt ngắn (hoặc giá trị 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 yêu cầu 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 bị lỗi 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ộ Mã Hóa Nhị Phân Base32
- Bộ Giải Mã Base32
- Bộ Mã Hóa Base32
- Bộ Mã Hóa Nhị Phân Base58
- Bộ Giải Mã Base58
- Bộ Mã Hóa Base58
- Bộ Mã Hóa Nhị Phân Base62
- Bộ Giải Mã Base62
- Bộ Mã Hóa Base62
- Bộ Mã Hóa Nhị Phân Base64
- Bộ Giải Mã Base64
- Bộ Mã Hóa Nhị Phân Hex
- Bộ Giải Mã Hex
- Bộ Mã Hóa Hex
- 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