کدگذار و رمزگشای Base64
متن و فایل را به Base64 تبدیل کنید و برعکس. یونیکد را درست مدیریت میکند، از base64url امن برای URL پشتیبانی میکند و دقیقاً میگوید چرا ورودی نامعتبر خطا میدهد.
اجرا در مرورگر شمابدون ثبتنامبدون آپلود
نحوهٔ استفاده از کدگذاری / رمزگشایی Base64
- کدگذاری یا رمزگشایی را انتخاب کنید.
- ورودی خود را تایپ یا جایگذاری کنید. نتیجه همزمان با تایپ بهروز میشود.
- برای URLها، JWTها و نام فایلها، گزینهٔ امن برای URL را فعال کنید تا از
-و_استفاده شود و در صورت تمایل پدینگ=را حذف کنید. - برای جاسازی تصویر یا فونت، روی کدگذاری فایل کلیک کنید و گزینهٔ خروجی بهصورت data URI را فعال نگه دارید.
- نتیجه را کپی کنید یا با جابهجایی آن را برای تبدیل در جهت مخالف به ورودی برگردانید.
Base64 چگونه کار میکند
Base64 دادههای باینری را با 64 کاراکتر قابلچاپ ASCII نمایش میدهد: A-Z، a-z، 0-9، + و /. هر 3 بایت ورودی به 4 کاراکتر تبدیل میشود، بنابراین دادهٔ کدگذاریشده حدود 33٪ بزرگتر است. وقتی طول ورودی مضربی از 3 نباشد، یک یا دو علامت = بهعنوان پدینگ به خروجی اضافه میشود. Base64 یک کدگذاری است، نه رمزنگاری: هر کسی میتواند آن را رمزگشایی کند.
Base64 استاندارد در برابر base64url
کاراکترهای + و / در URLها و مسیر فایلها معنای خاصی دارند. الفبای امن برای URL در RFC 4648 §5 آنها را با - و _ جایگزین میکند و معمولاً پدینگ را حذف میکند. JWTها، بسیاری از پارامترهای OAuth و برخی APIهای ابری از base64url استفاده میکنند. رمزگشای این صفحه هر دو الفبا را بهطور خودکار میپذیرد.
یونیکد و دام btoa()
در مرورگرها، btoa("café") کار میکند اما btoa("日本") خطا میدهد، چون btoa فقط Latin-1 را میپذیرد. روش درست این است که ابتدا متن به بایتهای UTF-8 تبدیل شود؛ همان کاری که این ابزار انجام میدهد. در JavaScript: btoa(String.fromCharCode(...new TextEncoder().encode(text)))، یا در Node.js: Buffer.from(text).toString('base64').
کاربردهای رایج
- data URI برای تصاویر و فونتهای کوچک در CSS یا HTML
- هدرهای احراز هویت HTTP Basic (
user:passwordکدگذاریشده) - پیوستهای باینری در payloadهای JSON و ایمیل (MIME)
- Secretهای Kubernetes که مقادیر را بهصورت Base64 ذخیره میکنند