Mã hoá và giải mã Base64
Chuyển văn bản sang Base64 và ngược lại, có cả dạng URL-safe.
Việc mã hoá và giải mã diễn ra trong trình duyệt của bạn, nên không có gì bạn dán vào bị tải lên hay lưu lại.
Base64 sinh ra để đưa các byte đi qua những nơi chỉ chấp nhận văn bản, và chỗ nó hay hỏng nhất chính là Unicode. Cặp hàm btoa và atob của trình duyệt từ chối mọi ký tự nằm ngoài dải Latin-1, đó là lý do chữ có dấu và emoji rất hay quay về trong tình trạng vỡ chữ. Bộ chuyển đổi này đưa văn bản của bạn về byte UTF-8 trước khi mã hoá, nên tiếng Việt, tiếng Nhật và emoji đi trọn một vòng vẫn nguyên vẹn.
Tìm hiểu thêm về Mã hoá và giải mã Base64
Cả hai bảng chữ cái đều có ở đây. Bảng tiêu chuẩn dùng dấu cộng và dấu gạch chéo, có phần đệm ở cuối; biến thể URL-safe thay hai ký tự đó bằng gạch nối và gạch dưới rồi bỏ phần đệm, đúng dạng mà các phần của JWT, chuỗi truy vấn và tên tệp cần tới. Nút URL-safe áp dụng cho cả hai chiều, nên giá trị tạo ra ở trang này cũng giải mã được ngay tại đây.
Việc giải mã cố tình khắt khe. Ký tự nằm ngoài bảng chữ cái được báo kèm vị trí thay vì lỗi khó hiểu mà nền tảng ném ra, chuỗi có độ dài không chia hết cho bốn được gọi đúng tên là chuỗi còn thiếu, còn những byte không phải UTF-8 hợp lệ thì được đưa ra dưới dạng tệp tải về chứ không hiện thành chữ vỡ. Dán một giá trị trông đã mã hoá sẵn vào bên mã hoá thì công cụ hỏi bạn có muốn đổi chiều không, nhưng không bao giờ tự đổi.
- Mã hoá và giải mã, kèm nút Hoán đổi đưa kết quả quay lại làm đầu vào
- An toàn với Unicode nhờ UTF-8, nên dấu tiếng Việt và emoji đi trọn một vòng vẫn nguyên
- Tuỳ chọn bảng chữ cái URL-safe dùng gạch nối và gạch dưới, bỏ phần đệm
- Ký tự không hợp lệ được báo kèm vị trí chính xác trong chuỗi
- Dữ liệu nhị phân sau khi giải mã được đưa ra dưới dạng tệp tải về thay vì chữ vỡ
- Base64 dán vào bên mã hoá được nhận ra, kèm gợi ý đổi chiều
- Nhận đầu vào tới năm megabyte
- Sao chép kết quả hoặc tải về thành tệp văn bản
Cách sử dụng
- 1Chọn Mã hoá hoặc Giải mã, rồi dán văn bản hay chuỗi Base64 vào khung bên trái.
- 2Bật URL-safe khi giá trị sẽ nằm trong URL, tên tệp hoặc một JWT.
- 3Đọc giá trị đã chuyển ở khung bên phải, nơi cập nhật ngay khi bạn gõ.
- 4Dùng Hoán đổi để đưa kết quả trở lại ô nhập và đảo chiều chuyển đổi.
- 5Sao chép kết quả, hoặc tải về khi phần byte giải mã ra là dữ liệu nhị phân.
Câu hỏi thường gặp
Dữ liệu của tôi có bị tải lên không?
Không. Cả hai chiều đều chạy trong trình duyệt của bạn, và văn bản không rời khỏi máy bạn.
Vì sao emoji của tôi bị vỡ khi mã hoá ở chỗ khác?
Phần lớn Base64 hỏng đến từ việc mã hoá các đơn vị mã UTF-16 thay vì byte UTF-8. Công cụ này mã hoá theo UTF-8, nên giải mã bằng bất kỳ bộ giải mã UTF-8 nào cũng trả lại đúng thứ bạn đã gõ.
Base64 dạng URL-safe là gì?
Nó thay dấu cộng bằng gạch nối, dấu gạch chéo bằng gạch dưới và bỏ phần đệm ở cuối, nhờ vậy giá trị đi qua URL hay tên tệp mà không hỏng. Các phần của JWT dùng đúng biến thể này.
Vì sao công cụ báo chuỗi Base64 của tôi không hợp lệ?
Hoặc chuỗi chứa ký tự nằm ngoài bảng chữ cái, khi đó thông báo sẽ cho biết vị trí, hoặc độ dài của nó không chia hết cho bốn sau khi tính cả phần đệm. Nguyên nhân hay gặp nhất là một giá trị URL-safe lại đem giải mã ở chế độ tiêu chuẩn.
Tôi giải mã được thứ không phải văn bản không?
Được, và khi phần byte giải mã ra không phải UTF-8 hợp lệ, công cụ sẽ cho bạn tải chúng về thành tệp thay vì hiển thị. Tệp tải về giữ nguyên từng byte đúng như lúc giải mã.