رمزگشایی/کدگذاری Base64
یک رمزگذار/رمزگشای رایگان آنلاین Base64 برای رمزگذاری و رمزگشایی سریع، با ویژگیهای مدیریت ایمن UTF-8، تبدیل URL ایمن، پر کردن خودکار، آمار لحظهای و قابلیت کپی امن. نمونههای کد چندزبانه، تولید Data URI، راهنماهای استفاده دقیق و سوالات متداول را ارائه میدهد. رابط کاربر پسند با پر کردن ورودی دوسویه، دسترسی با کیبورد و طراحی موبایلپسند. بدون نیاز به دانلود، مستقیماً در مرورگر شما کار میکند.
رمزگذاری (متن → Base64)
رمزگشایی (Base64 → متن)
نحوه استفاده
ویژگیها
- سازگار با UTF-8: به درستی کاراکترهای غیر ASCII را مدیریت میکند (با encodeURIComponent/unescape پوشانده شده است).
- پشتیبانی از حالت امن برای URL: با یک کلیک بین + / و - _ جابجا شوید، امکان حذف علامت پر کردن = وجود دارد.
- پیشپردازش قبل از رمزگشایی: نادیده گرفتن فاصلهها، تبدیل خودکار به حالت امن برای URL، و افزودن خودکار علامت پر کردن =.
- تعامل واقعی: ورودیها فوری پردازش میشوند، و آمار طول و نرخ افزایش حجم نمایش داده میشود.
- کاربرپسند: کپی سریع، پر کردن دوسویه بین ورودیها، قابل دسترس با صفحه کلید، سازگار با موبایل.
- طرح منسجم: بدون کلاسهای dark Tailwind — کاملاً با تمهای DaisyUI طراحی شده است.
Base64 چیست؟
Base64 روشی برای تبدیل دادههای دودویی به متن ASCII است که اغلب برای ارسال تصاویر یا محتوای فایلها از طریق پروتکلهای متنی مانند JSON، XML و HTTP استفاده میشود.
هر ۳ بایت را به ۴ کاراکتر قابل چاپ نگاشت میکند که معمولاً منجر به افزایش حدود ۳۳ درصدی حجم میشود.
Base64 استاندارد از حروف A–Z، a–z، 0–9، +، / و علامت پر کردن = استفاده میکند؛ نسخه امن برای URL، کاراکترهای + و / را به - و _ جایگزین میکند تا از مشکلات فرار در URL جلوگیری شود.
موارد استفاده رایج
- لانهگذاری تصاویر یا فایلهای کوچک به عنوان Data URI.
- انتقال دادههای دودویی بین کلاینت و سرور (مثلاً متن رمزنگاری شده، جریانهای فشرده).
- تبدیل متن به فرمت قابل چاپ برای جلوگیری از ناسازگاریهای کدگذاری یا کاراکترهای نامرئی.
سوالات متداول و نکات مهم
- مجموعه کاراکتر: در محیطهای وب، ابتدا متن را به صورت UTF-8 کدگذاری کنید (این ابزار این مرحله را به طور خودکار انجام میدهد).
- امن برای URL: برای پارامترها یا مسیرهای URL، نسخه امن برای URL را ترجیح دهید و حذف علامتهای پر کردن را در نظر بگیرید.
- علامت پر کردن: برخی پیادهسازیها اجازه حذف = را میدهند؛ در حین رمزگشایی، به طور خودکار به مضربی از ۴ کاراکتر افزوده میشود.
- شکست خط: MIME Base64 ممکن است شامل شکست خط باشد؛ در حین رمزگشایی، گزینه "نادیده گرفتن فاصلهها" را انتخاب کنید تا این موارد مدیریت شوند.
نحوه رمزگذاری/رمزگشایی Base64 در زبانهای برنامهنویسی
const encoded = btoa(unescape(encodeURIComponent(text)));
// مطمئن برای URL
const urlSafe = encoded.replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/g, '');
// پیشپردازش: جایگزینی -_ با +/
let b64 = input.replace(/-/g, '+').replace(/_/g, '/');
if (b64.length % 4 !== 0) b64 = b64.padEnd(b64.length + (4 - (b64.length % 4)), '=');
const text = decodeURIComponent(escape(atob(b64)));
$encoded = base64_encode($text);
// مطمئن برای URL
$urlSafe = rtrim(strtr($encoded, '+/', '-_'), '=');
$b64 = strtr($input, '-_', '+/');
// پر کردن خودکار با '='
if (strlen($b64) % 4 !== 0) $b64 .= str_repeat('=', 4 - (strlen($b64) % 4));
$text = base64_decode($b64);
import base64
encoded = base64.b64encode(text.encode('utf-8')).decode('ascii')
# رمزگذاری مطمئن برای URL (حذف پرکننده)
url_safe = encoded.replace('+','-').replace('/','_').rstrip('=')
import base64
def b64_decode(s: str) -> str:
s = s.replace('-','+').replace('_','/')
s += '=' * (-len(s) % 4) # پر کردن خودکار با '='
return base64.b64decode(s).decode('utf-8')
import (
"encoding/base64"
)
enc := base64.StdEncoding.EncodeToString([]byte(text))
// رمزگذاری مطمئن برای URL (بدون پرکننده)
urlEnc := base64.RawURLEncoding.EncodeToString([]byte(text))
import (
"encoding/base64"
)
decBytes, err := base64.StdEncoding.DecodeString(enc)
// رمزگشایی مطمئن برای URL (بدون پرکننده)
decURL, err2 := base64.RawURLEncoding.DecodeString(urlEnc)
use base64::{engine::general_purpose, Engine as _};
let enc = general_purpose::STANDARD.encode(text.as_bytes());
// رمزگذاری مطمئن برای URL (بدون پرکننده)
let url_enc = general_purpose::URL_SAFE_NO_PAD.encode(text.as_bytes());
use base64::{engine::general_purpose, Engine as _};
let dec_bytes = general_purpose::STANDARD.decode(&enc).unwrap();
let dec = String::from_utf8(dec_bytes).unwrap();
let url_dec = String::from_utf8(
general_purpose::URL_SAFE_NO_PAD.decode(&url_enc).unwrap()
).unwrap();
import java.nio.charset.StandardCharsets;
import java.util.Base64;
String enc = Base64.getEncoder().encodeToString(text.getBytes(StandardCharsets.UTF_8));
// رمزگذاری مطمئن برای URL (بدون پرکننده)
String urlEnc = Base64.getUrlEncoder().withoutPadding().encodeToString(text.getBytes(StandardCharsets.UTF_8));
import java.nio.charset.StandardCharsets;
import java.util.Base64;
String dec = new String(Base64.getDecoder().decode(enc), StandardCharsets.UTF_8);
String urlDec = new String(Base64.getUrlDecoder().decode(urlEnc), StandardCharsets.UTF_8);