Chuyển đổi tệp sang mã hóa Base64 và chuỗi Base64 về tệp tức thì. Hỗ trợ xem trước hình ảnh, xử lý mọi định dạng và thực hiện cục bộ để đảm bảo quyền riêng tư tối đa.
Features
- Chuyển đổi hai chiều: Tải tệp lên để chuyển sang chuỗi Base64 hoặc dán dữ liệu Base64 để giải mã trở lại tệp tải xuống. Hỗ trợ mọi định dạng, tự động nhận diện MIME.
- Xem trước hình ảnh realtime: Xem trước ngay các định dạng hình ảnh (PNG, JPG, GIF, WebP, SVG) khi mã hóa/giải mã. Xác minh hình ảnh trước khi tải xuống và so sánh kết quả.
- Nhận diện loại tệp tự động: Phân tích magic number và MIME để gợi ý phần mở rộng chính xác, kiểm tra tính toàn vẹn dữ liệu và hỗ trợ nhiều định dạng Base64 khác nhau.
- Hỗ trợ mọi định dạng: Làm việc với hình ảnh, PDF, tài liệu Office, ZIP, tệp nhị phân... Không giới hạn kích thước (tùy trình duyệt), hỗ trợ xử lý hàng loạt và giữ nguyên metadata.
Use Cases
- Phát triển Web - Tài nguyên hình ảnh nội tuyến: Chuyển đổi biểu tượng nhỏ, logo và hình nền sang Base64 và nhúng vào HTML/CSS để giảm số lượng yêu cầu HTTP và cải thiện tốc độ tải trang. Đặc biệt phù hợp cho ứng dụng một trang (SPA), ứng dụng ngoại tuyến và hình ảnh nhỏ cần tải nhanh. Sử dụng định dạng Data URI trực tiếp trong background-image CSS hoặc img src HTML.
- Hệ thống email - Mã hóa tệp đính kèm MIME: Trong khách hàng email và dịch vụ email, sử dụng mã hóa Base64 để xử lý tệp đính kèm email. Tuân thủ tiêu chuẩn giao thức MIME, đảm bảo tệp nhị phân (hình ảnh, PDF, tài liệu) có thể được truyền đúng qua giao thức SMTP. Hỗ trợ yêu cầu tương thích của nhiều khách hàng email và nhà cung cấp dịch vụ email.
- Tích hợp API - Truyền tệp JSON: Khi truyền tệp qua REST API hoặc GraphQL API, chuyển đổi tệp thành chuỗi Base64 và nhúng vào phản hồi JSON. Tránh nhu cầu giao diện tải tệp riêng biệt, đơn giản hóa thiết kế API. Áp dụng cho các kịch bản tải avatar người dùng, gửi tài liệu, chia sẻ hình ảnh, v.v. Hỗ trợ tích hợp API với nhiều ngôn ngữ lập trình và framework.
- Lưu trữ cơ sở dữ liệu - Lưu nhị phân trong trường văn bản: Lưu trữ tệp nhị phân trong cơ sở dữ liệu chỉ hỗ trợ trường văn bản (như một số cơ sở dữ liệu NoSQL). Chuyển đổi tệp như hình ảnh, tài liệu và âm thanh thành chuỗi Base64 được lưu trong trường văn bản. Phù hợp cho lưu trữ tệp nhỏ, tránh nhu cầu dịch vụ lưu trữ tệp riêng biệt. Lưu ý giới hạn kích thước tệp và cân nhắc hiệu suất.
- Ứng dụng di động - Nhúng tài nguyên ngoại tuyến: Trong ứng dụng di động (React Native, Flutter, ứng dụng gốc), chuyển đổi tệp tài nguyên cần thiết (biểu tượng, phông chữ, tệp cấu hình) sang Base64 và nhúng vào mã ứng dụng. Đạt được chức năng ngoại tuyến thực sự, giảm yêu cầu mạng khi khởi động ứng dụng. Đặc biệt phù hợp cho các kịch bản ứng dụng cần khởi động nhanh.
- Truyền an toàn - Chuyển tệp cross-domain: Trong các kịch bản yêu cầu chuyển tệp cross-domain, sử dụng mã hóa Base64 để tránh vấn đề CORS. Truyền chuỗi Base64 qua giao diện JSONP hoặc JSON thông thường, sau đó giải mã và khôi phục tệp ở phía khách hàng. Áp dụng cho các kịch bản tài nguyên CDN, cuộc gọi API cross-domain, v.v.
- Trực quan hóa dữ liệu - Biểu đồ và báo cáo: Trong công cụ trực quan hóa dữ liệu và hệ thống báo cáo, chuyển đổi biểu đồ và hình ảnh báo cáo được tạo sang Base64 và nhúng vào báo cáo HTML. Đảm bảo báo cáo có thể được phân phối độc lập mà không cần tài nguyên bên ngoài. Hỗ trợ các kịch bản xuất PDF, gửi email, in ấn, v.v.
- Framework frontend - Nội tuyến tài nguyên: Trong các framework frontend như Vue, React, Angular, sử dụng mã hóa Base64 để nhúng tệp tài nguyên nhỏ. Kết hợp với công cụ xây dựng như Webpack, Vite, đạt được nội tuyến và tối ưu hóa tài nguyên tự động. Giảm yêu cầu HTTP, cải thiện hiệu suất ứng dụng, đặc biệt phù hợp cho ứng dụng PWA.
- Xử lý tài liệu - Tài liệu PDF và Office: Trong hệ thống xử lý tài liệu, chuyển đổi tài liệu PDF, Word, Excel, v.v. sang Base64 để truyền và lưu trữ. Hỗ trợ các kịch bản xem trước tài liệu, chỉnh sửa trực tuyến, kiểm soát phiên bản, v.v. Lưu ý rằng tệp lớn có thể ảnh hưởng đến hiệu suất, chỉ nên dùng cho tài liệu nhỏ hoặc làm giải pháp truyền tạm thời.
- Phát triển trò chơi - Đóng gói tài nguyên: Trong trò chơi web và HTML5, chuyển đổi tài nguyên trò chơi (hình ảnh, âm thanh, tệp cấu hình) sang Base64 và nhúng vào mã trò chơi. Đạt được phân phối trò chơi một tệp, giảm thời gian tải tài nguyên. Phù hợp cho các kịch bản trò chơi nhỏ, dự án demo, phát triển nguyên mẫu, v.v.
- Script tự động hóa - Xử lý tệp: Trong script tự động hóa và quy trình làm việc CI/CD, sử dụng mã hóa Base64 để xử lý tệp nhạy cảm như tệp cấu hình, chứng chỉ và khóa. Truyền chuỗi Base64 qua biến môi trường hoặc tệp cấu hình, sau đó giải mã và sử dụng trong script. Tránh vấn đề đường dẫn tệp, đơn giản hóa quy trình triển khai.
- Mạng xã hội - Chia sẻ hình ảnh: Trong tích hợp API mạng xã hội, chuyển đổi hình ảnh người dùng tải lên sang Base64 và truyền qua API. Hỗ trợ giao diện tải hình ảnh cho các nền tảng như Twitter, Facebook, Instagram. Đơn giản hóa quy trình tải hình ảnh, tránh nhu cầu tải lên máy chủ tệp trước rồi mới lấy URL.
Usage Guide
- Tải lên hoặc nhập chuỗi: Tải tệp cần mã hóa hoặc dán chuỗi Base64 cần giải mã
- Chọn chiều chuyển đổi: Chọn hướng chuyển đổi phù hợp (tệp → Base64 hoặc Base64 → tệp)
- Chuyển đổi và lưu: Thực hiện chuyển đổi rồi tải xuống hoặc sao chép kết quả
Technical Details
Base64 là gì
Base64 là phương pháp mã hóa nhị phân sang văn bản sử dụng 64 ký tự ASCII in được (A-Z, a-z, 0-9, +, /). Chuỗi đầu ra được chia thành các khối 4 ký tự, vừa đảm bảo tương thích hệ thống chỉ chấp nhận văn bản vừa giữ nguyên dữ liệu gốc khi giải mã.
Quy trình mã hóa
Cứ mỗi 3 byte (24 bit) dữ liệu nhị phân sẽ chuyển thành 4 ký tự Base64 (6 bit mỗi ký tự). Khi độ dài không chia hết cho 3, chuẩn sử dụng dấu '=' để padding đảm bảo số lượng ký tự chia hết cho 4. Các biến thể URL-An toàn thay '+' bằng '-' và '/' bằng '_' để nhúng vào URL.
Ứng dụng phổ biến
Base64 được dùng trong email (MIME) để gửi tệp đính kèm, Data URI để nhúng hình ảnh vào HTML/CSS, đưa nhị phân vào JSON/XML, lưu cấu hình (YAML/TOML) hay truyền dữ liệu qua REST, GraphQL, WebSocket mà không lo lỗi mã hóa.
Frequently Asked Questions
- Mã hóa Base64 là gì?
- Base64 là sơ đồ mã hóa nhị phân sang văn bản sử dụng 64 ký tự ASCII in được (A-Z, a-z, 0-9, +, /). Dung lượng tăng khoảng 33% nhưng đảm bảo dữ liệu nhị phân truyền an toàn qua kênh văn bản.
- Làm thế nào để chuyển tệp sang Base64?
- Chỉ cần tải tệp lên hoặc kéo thả vào công cụ. Hệ thống sẽ mã hóa sang Base64 tức thì và bạn có thể sao chép chuỗi hoặc tích hợp vào ứng dụng.
- Có chuyển Base64 về tệp được không?
- Có. Dán chuỗi Base64 vào khu vực giải mã, công cụ sẽ khôi phục thành tệp gốc. Bạn có thể xem trước hình ảnh và tải mọi loại tệp, công cụ tự phát hiện định dạng.
- Sử dụng công cụ này có an toàn không?
- Hoàn toàn an toàn. Mọi xử lý diễn ra trên trình duyệt, không tải lên máy chủ nên dữ liệu nhạy cảm luôn ở trên máy của bạn.
- Base64 thường dùng trong trường hợp nào?
- Base64 được dùng để nhúng hình ảnh trong HTML/CSS (Data URI), gửi tệp qua API JSON, email đính kèm (MIME), lưu dữ liệu nhị phân trong cơ sở dữ liệu văn bản và truyền tệp qua giao thức chỉ hỗ trợ văn bản.
Related Documentation
- RFC 4648 - Chuẩn mã hóa Base64 - Tài liệu đặc tả chi tiết các biến thể Base64, Base32 và cơ chế padding chính thức
- MDN Web Tài liệu - Tổng quan Base64 - Giải thích cách đọc, chuyển đổi và sử dụng Base64 trong ứng dụng web
- MDN - Tệp API và Blob - Hướng dẫn thao tác Tệp/Blob và chuyển đổi dữ liệu nhị phân bằng JavaScript
- MDN - Data URI Scheme - Cách sử dụng Base64 trong Data URI để nhúng tài nguyên vào HTML/CSS
- Javascript.Thông tin - Xử lý dữ liệu nhị phân - Chuỗi hướng dẫn thao tác ArrayBuffer, TypedArray và chuyển đổi Base64 trong trình duyệt