🔧 Bộ Mã hóa Nhị phân Base64 — mã hóa tệp/byte thành Base64 (với tùy chọn Base64url + MIME)

Xử lý 100% phía máy khách (không tải lên máy chủ). Mã hóa tệp/byte nhị phân thành Base64 với các cài đặt định dạng (RFC 4648, Base64url, gói MIME), kiểm soát đệm, xác thực nghiêm ngặt và hỗ trợ hàng loạt nhiều tệp. Cũng hỗ trợ giải mã Base64 trở lại thành tệp có thể tải xuống.

Loading…

Giới thiệu Mã hóa/Giải mã Base64 (Nhị phân)

Công cụ này chủ yếu dùng để mã hóa tệp nhị phân (byte) thành văn bản Base64 để truyền tải (JSON, nhật ký, email, cấu hình). Nó cũng bao gồm hành động giải mã khi bạn cần chuyển Base64 trở lại thành tệp nhị phân có thể tải xuống. Mọi thứ chạy cục bộ trong trình duyệt của bạn (không tải lên), với các tùy chọn rõ ràng cho Base64 so với Base64url so với gói MIME, hành vi đệm và xác thực nghiêm ngặt.

Tính năng

  • Tải lên hoặc kéo-thả tệp nhị phân (hỗ trợ hàng loạt nhiều tệp)
  • Hai hành động: mã hóa tệp → Base64, hoặc giải mã Base64 → tải xuống tệp
  • Cài đặt định dạng: RFC 4648 (chuẩn), RFC 4648 an toàn URL (Base64url), RFC 2045 MIME (gói 76 + CRLF)
  • Kiểm soát đệm: Tự động, Luôn bao gồm "=", hoặc Bỏ qua đệm
  • Độ dài gói dòng tùy chọn cho đầu ra mã hóa (0 để tắt; MIME thường dùng 76)
  • Chế độ xác thực nghiêm ngặt để từ chối ký tự/đệm không hợp lệ (hữu ích cho gỡ lỗi)
  • Dòng mới cuối cùng tùy chọn trên đầu ra Base64 (chế độ mã hóa)
  • Xử lý 100% phía máy khách (không tải lên máy chủ).

Cách sử dụng for base64-binary-encoder

1

Thả một hoặc nhiều tệp (hoặc dán Base64 để giải mã)

Để mã hóa, kéo-thả tệp nhị phân của bạn vào khu vực tải lên. Để giải mã, dán chuỗi Base64 bạn nhận được (ví dụ từ JSON, nhật ký hoặc email).

2

Chọn hành động/chế độ và chạy nó

Chọn "Hành động": "Mã hóa tệp → Base64" hoặc "Giải mã Base64 → tệp", sau đó nhấp vào nút Chạy tương ứng (Mã hóa/Giải mã). Nếu cần, chọn cài đặt "Định dạng" (chuẩn/Base64url/MIME), điều chỉnh đệm và gói, và bật "Xác thực nghiêm ngặt" khi gỡ lỗi Base64 bị lỗi.

3

Sao chép đầu ra Base64 hoặc tải xuống tệp đã giải mã

Sau khi mã hóa, sao chép văn bản Base64 (tùy chọn được gói/kết thúc bằng dòng mới dựa trên cài đặt của bạn). Sau khi giải mã, tải xuống tệp nhị phân đã tái tạo (đặt tên tệp tuân theo quy tắc của công cụ khi có thể).

Thông số kỹ thuật

Mô hình Thực thi

Tiết lộ thời gian chạy, ràng buộc và điều gì xảy ra với dữ liệu của bạn.

Khía cạnhChi tiết
Chế độXử lý 100% phía máy khách (không tải lên máy chủ).
Phạm vi hành độngMã hóa nhị phân → Base64 (chính), cộng với Giải mã Base64 → tải xuống nhị phân
Đầu vàoMã hóa: Tệp/Blob/Uint8Array/ArrayBuffer/TypedArray. Giải mã: Chuỗi Base64
Đầu raMã hóa: Văn bản Base64. Giải mã: Byte dưới dạng tệp có thể tải xuống
Giới hạn~1–2MB ký tự; ~25000 ms thời gian chờ
Lưu giữMọi xử lý diễn ra cục bộ trong trình duyệt của bạn (không tải lên)
Đối với dữ liệu cực kỳ nhạy cảm (bí mật, khóa, tệp được quản lý), nên ưu tiên công cụ ngoại tuyến/cục bộ và tránh sao chép bí mật vào bất kỳ trang web nào.

Ví Dụ Nhỏ

Một chuỗi byte nhỏ được mã hóa thành Base64 (theo chuẩn RFC 4648).

MụcGiá trị
Byte đầu vào (hex)00 01 02 03 04 05 06 07 08 09
Base64 đầu raAAECAwQFBgcICQ==
Khi đầu ra khác biệtBase64url thay đổi "+"/"/" thành "-"/"_"; phần đệm có thể được bỏ qua; MIME có thể ngắt dòng
Mã hóa là xác định: cùng byte + cùng tùy chọn → cùng đầu ra Base64.

Lỗi & Trường Hợp Đặc Biệt

Các chế độ lỗi phổ biến và cách xử lý tiếp theo.

Triệu chứngNguyên nhân có thểKiểm tra gì
Đầu vào phải là chuỗi để giải mãBạn đã thử giải mã nhưng cung cấp byte/tệp thay vì văn bản Base64Đặt Hành động thành "Mã hóa" cho tệp; để Giải mã, hãy dán một chuỗi Base64
Công cụ này mã hóa dữ liệu nhị phân... không phải chuỗi văn bảnBạn đã thử mã hóa bằng cách dán văn bản vào bộ mã hóa nhị phânTải lên một tệp (hoặc cung cấp byte) để Mã hóa; sử dụng công cụ Base64 văn bản cho quy trình làm việc thuần văn bản
Ký tự không hợp lệ / lỗi xác thực nghiêm ngặtBase64 chứa các ký tự không được phép bởi định dạng đã chọn, hoặc phần đệm saiXác nhận "Định dạng" (chuẩn so với Base64url so với MIME) và "Phần đệm"; tắt Nghiêm ngặt để chấp nhận đầu vào linh hoạt
Lỗi độ dài/phần đệm (đặc biệt khi bật Nghiêm ngặt)Base64 bị cắt ngắn, phần đệm "=" sai, hoặc bảng chữ cái hỗn hợpSao chép lại toàn bộ tải trọng; đảm bảo bạn không mất "=" ở cuối, hoặc đặt Phần đệm thành "Tự động"
Đầu vào quá lớn (tối đa 2MB)Tải trọng vượt quá giới hạn an toàn của công cụChia nhỏ tệp/tải trọng hoặc sử dụng CLI/script cục bộ cho dữ liệu lớn hơn
Lời gọi bộ chuyển đổi đã hết thời gian chờXử lý vượt quá thời gian chờ ~25s (phụ thuộc vào kích thước/thiết bị)Thử dữ liệu đầu vào nhỏ hơn, tắt Xem trước trực tiếp hoặc chuyển sang công cụ dòng lệnh cục bộ

Các lựa chọn thay thế dòng lệnh

Đối với tệp lớn, dữ liệu bí mật hoặc sử dụng CI, hãy chạy mã hóa/giải mã Base64 cục bộ. Dưới đây là các tùy chọn tiêu chuẩn, có sẵn rộng rãi.

Linux/macOS (coreutils)

Mã hóa tệp sang Base64 (không ngắt dòng)

base64 -w 0 input.bin > output.b64.txt

Mã hóa input.bin sang Base64. Cờ -w 0 tắt tính năng ngắt dòng (GNU coreutils).

Mã hóa tệp sang Base64 kiểu MIME với ngắt dòng (76 ký tự/dòng)

base64 -w 76 input.bin > output.mime.b64.txt

Khớp với độ dài dòng MIME phổ biến. (Ký tự kết thúc dòng có thể khác CRLF tùy nền tảng.)

Giải mã Base64 trở lại thành tệp

base64 -d input.b64.txt > output.bin

Giải mã văn bản Base64 thành byte thô.

macOS (BSD base64) / Unix

Mã hóa tệp sang Base64

base64 < input.bin > output.b64.txt

BSD base64 sử dụng cờ khác với GNU; dạng này hoạt động rộng rãi.

Giải mã Base64 trở lại thành tệp

base64 -D < input.b64.txt > output.bin

Trên macOS/BSD, giải mã thường dùng -D (không phải -d).

OpenSSL (di động)

Mã hóa tệp sang Base64 (một dòng duy nhất)

openssl base64 -A -in input.bin -out output.b64.txt

Cờ -A xuất ra một dòng duy nhất (không ngắt dòng).

Giải mã Base64 trở lại byte

openssl base64 -d -in input.b64.txt -out output.bin

Hữu ích khi coreutils base64 không có sẵn.

Node.js

Mã hóa tệp sang Base64

node -e "const fs=require('fs'); const b=fs.readFileSync('input.bin'); process.stdout.write(b.toString('base64'))" > output.b64.txt

Đọc byte và in ra Base64.

Giải mã Base64 thành tệp

node -e "const fs=require('fs'); const s=fs.readFileSync('input.b64.txt','utf8').trim(); fs.writeFileSync('output.bin', Buffer.from(s,'base64'))"

Giải mã văn bản Base64 thành byte thô.

Python

Mã hóa tệp sang Base64

python -c "import base64,sys; sys.stdout.write(base64.b64encode(open('input.bin','rb').read()).decode('ascii'))" > output.b64.txt

Mã hóa byte tệp thành Base64 ASCII.

Giải mã Base64 trở lại thành tệp

python -c "import base64; open('output.bin','wb').write(base64.b64decode(open('input.b64.txt','rb').read()))"

Giải mã Base64 thành byte thô.

Các trường hợp sử dụng

Nhúng dữ liệu nhị phân vào kênh văn bản

  • Đính kèm tệp nhị phân nhỏ trong tải trọng JSON
  • Dán một tệp vào trình theo dõi vấn đề hoặc tài liệu dưới dạng Base64
  • Truyền byte qua các hệ thống chỉ chấp nhận văn bản

Gỡ lỗi Base64 được tạo bởi hệ thống khác

  • Chuyển đổi giữa các cài đặt trước chuẩn/Base64url/MIME để khớp với nhà sản xuất
  • Bật Xác thực Nghiêm ngặt để phát hiện lỗi đệm/bảng chữ cái
  • Sử dụng giải mã để xác nhận tải trọng tái tạo tệp gốc

Kiểm tra đường ống trong CI cho các tạo phẩm nhỏ

  • Xác minh một tạo phẩm giải mã không lỗi trước khi xuất bản
  • Chuẩn hóa đầu ra Base64 (gói/đệm) để có sự khác biệt ổn định

Chia sẻ an toàn hơn các đoạn nhị phân không bí mật

  • Chia sẻ các bộ kiểm tra có thể tái tạo mà không cần gửi email tệp nhị phân thô
  • Giữ bí mật khỏi công cụ trình duyệt; sử dụng CLI cục bộ cho khóa/token

❓ Frequently Asked Questions

Có API công khai cho công cụ này không?

Không. Trang này là một công cụ trong trình duyệt và không cung cấp điểm cuối API công khai.

Xử lý là cục bộ hay từ xa?

Xử lý 100% phía máy khách (không tải lên máy chủ). Dữ liệu tệp/Base64 được xử lý cục bộ trong trình duyệt của bạn.

Tôi có thể mã hóa bí mật (khóa, token, mật khẩu) ở đây một cách an toàn không?

Nên tránh. Mặc dù xử lý là cục bộ, bí mật có thể bị rò rỉ qua lịch sử clipboard, ảnh chụp màn hình, tiện ích mở rộng hoặc thiết bị dùng chung. Đối với bí mật, hãy sử dụng công cụ dòng lệnh cục bộ thay thế.

Tại sao giải mã thất bại với "ký tự không hợp lệ" hoặc "đệm sai"?

Hầu hết lỗi giải mã đến từ định dạng không khớp (chuẩn so với Base64url so với MIME-wrapped), đầu vào bị cắt ngắn hoặc đệm không chính xác. Hãy thử chọn cài đặt trước "Định dạng" đúng, đặt Đệm thành "Tự động" và tạm thời tắt "Xác thực Nghiêm ngặt" để xem liệu đầu vào có chỉ hơi không tuân thủ không.

Tại sao tôi không thể mã hóa bằng cách dán trực tiếp văn bản?

Đây là biến thể nhị phân (tệp/byte). Mã hóa yêu cầu byte (File/Blob/Uint8Array/ArrayBuffer). Nếu đầu vào của bạn là văn bản thuần túy, hãy sử dụng bộ mã hóa Base64 văn bản để mã hóa văn bản thành byte được rõ ràng.

Pro Tips

Best Practice

Nếu bạn cần mã thông báo an toàn cho URL, hãy chọn cài đặt sẵn Base64url; nó thay thế "+"/"/" bằng "-"/"_" và thường bỏ qua phần đệm tùy theo cài đặt của bạn.

Best Practice

Khi gỡ lỗi việc giải mã thất bại, hãy bật xác thực Nghiêm ngặt để nhận được lỗi sớm hơn, rõ ràng hơn, sau đó nới lỏng nó khi bạn đã xác định được các điểm đặc biệt của nhà sản xuất.

CI Tip

Để có sự khác biệt ổn định trong CI, hãy chuẩn hóa việc ngắt dòng và dòng mới cuối cùng để đầu ra Base64 của bạn không thay đổi giữa các môi trường.

Best Practice

Đối với tệp lớn hoặc bất kỳ nội dung nhạy cảm nào, nên ưu tiên công cụ CLI cục bộ; nó tránh được giới hạn trình duyệt và giảm rò rỉ ngẫu nhiên qua clipboard hoặc tiện ích mở rộng.

Additional Resources

Other Tools

🔧 Bộ Mã hóa Nhị phân Base64 — mã hóa tệp/byte thành Base64 (với tùy chọn Base64url + MIME) | Encode64