Về công cụ này
Base64 chuyển đổi các byte thô của ảnh thành văn bản thuần túy, hữu ích ở bất cứ nơi nào tệp nhị phân không phù hợp: nhúng một biểu tượng nhỏ trực tiếp vào `background-image` của CSS, `<img src>` của HTML, hoặc payload JSON của API, tất cả mà không cần một yêu cầu tệp riêng. Công cụ này hoạt động theo cả hai chiều — thả một ảnh để lấy văn bản Base64 của nó, hoặc dán Base64 (hoặc một data URI đầy đủ) để dựng lại và tải ảnh về.
Việc mã hóa đọc trực tiếp các byte thô của tệp và biểu diễn lại chúng dưới dạng văn bản — không vẽ lại qua canvas, nên kết quả giải mã ra chính xác tệp gốc, từng byte một. Mọi thứ diễn ra cục bộ ngay trong trình duyệt của bạn; không có gì được tải lên bất cứ đâu. Lưu ý rằng văn bản Base64 lớn hơn khoảng một phần ba so với tệp nhị phân gốc, nên nó phù hợp với biểu tượng và ảnh thu nhỏ nhỏ gọn hơn nhiều so với ảnh chụp lớn.
Câu hỏi thường gặp
Việc mã hóa sang base64 có làm thay đổi chất lượng ảnh không?
Không — base64 là một mã hóa văn bản của chính xác các byte tệp gốc, không phải là nén lại ảnh. Chuỗi kết quả sẽ giải mã trở lại thành một tệp giống hệt từng byte, chỉ được biểu diễn dưới dạng văn bản thay vì nhị phân (đó là lý do nó lớn hơn khoảng 33% so với kích thước tệp gốc — đó là chi phí của việc biểu diễn các byte tùy ý dưới dạng văn bản có thể in được, không phải mất mát dữ liệu ảnh nào).
Tại sao chuỗi đã mã hóa của tôi lại lớn hơn nhiều so với tệp gốc?
Base64 mã hóa mỗi 3 byte thô thành 4 ký tự văn bản, đây là mức tăng kích thước cố định về mặt toán học khoảng 33% — điều này bình thường và dự kiến đối với BẤT KỲ mã hóa base64 nào, không riêng gì ảnh. Đây là một sự đánh đổi đáng giá khi bạn muốn nhúng một ảnh nhỏ trực tiếp vào các định dạng dựa trên văn bản (CSS, HTML, JSON) để tránh một yêu cầu mạng riêng biệt, nhưng không phải là lựa chọn tốt cho ảnh lớn nơi kích thước thêm vượt quá lợi ích của việc bỏ qua một yêu cầu.