رمزگشایی/کدگذاری Base64

یک رمزگذار/رمزگشای رایگان آنلاین Base64 برای رمزگذاری و رمزگشایی سریع، با ویژگی‌های مدیریت ایمن UTF-8، تبدیل URL ایمن، پر کردن خودکار، آمار لحظه‌ای و قابلیت کپی امن. نمونه‌های کد چندزبانه، تولید Data URI، راهنماهای استفاده دقیق و سوالات متداول را ارائه می‌دهد. رابط کاربر پسند با پر کردن ورودی دوسویه، دسترسی با کیبورد و طراحی موبایل‌پسند. بدون نیاز به دانلود، مستقیماً در مرورگر شما کار می‌کند.

رمزگذاری (متن → Base64)

رمزگشایی (Base64 → متن)

نحوه استفاده

Base64 داده‌های دودویی را به کد ASCII تبدیل می‌کند تا به صورت امن ارسال و ذخیره شوند. حجم داده‌ها حدود ۳۳ درصد افزایش می‌یابد.
کدگذاری: متن ساده را به Base64 تبدیل کنید تا ارسال آن امن‌تر باشد.
رمزگشایی: متن اصلی را از رشته Base64 بازیابی کنید.

ویژگی‌ها

  • سازگار با UTF-8: به درستی کاراکترهای غیر ASCII را مدیریت می‌کند (با encodeURIComponent/unescape پوشانده شده است).
  • پشتیبانی از حالت امن برای URL: با یک کلیک بین + / و - _ جابجا شوید، امکان حذف علامت پر کردن = وجود دارد.
  • پیش‌پردازش قبل از رمزگشایی: نادیده گرفتن فاصله‌ها، تبدیل خودکار به حالت امن برای URL، و افزودن خودکار علامت پر کردن =.
  • تعامل واقعی: ورودی‌ها فوری پردازش می‌شوند، و آمار طول و نرخ افزایش حجم نمایش داده می‌شود.
  • کاربرپسند: کپی سریع، پر کردن دوسویه بین ورودی‌ها، قابل دسترس با صفحه کلید، سازگار با موبایل.
  • طرح منسجم: بدون کلاس‌های dark Tailwind — کاملاً با تم‌های DaisyUI طراحی شده است.

نمونه‌های سریع

متن اصلی:
Hello, World!
Base64:
SGVsbG8sIFdvcmxkIQ==

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 در زبان‌های برنامه‌نویسی

JavaScript
متن → Base64 (مطمئن از UTF-8)
const encoded = btoa(unescape(encodeURIComponent(text)));
// مطمئن برای URL
const urlSafe = encoded.replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/g, '');
رمزگشایی (Base64 → متن)
// پیش‌پردازش: جایگزینی -_ با +/
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)));
PHP
رمزگذاری (متن → Base64)
$encoded = base64_encode($text);
// مطمئن برای URL
$urlSafe = rtrim(strtr($encoded, '+/', '-_'), '=');
رمزگشایی (Base64 → متن)
$b64 = strtr($input, '-_', '+/');
// پر کردن خودکار با '='
if (strlen($b64) % 4 !== 0) $b64 .= str_repeat('=', 4 - (strlen($b64) % 4));
$text = base64_decode($b64);
Python
رمزگذاری (متن → Base64)
import base64

encoded = base64.b64encode(text.encode('utf-8')).decode('ascii')
# رمزگذاری مطمئن برای URL (حذف پرکننده)
url_safe = encoded.replace('+','-').replace('/','_').rstrip('=')
رمزگشایی (Base64 → متن)
import base64

def b64_decode(s: str) -> str:
    s = s.replace('-','+').replace('_','/')
    s += '=' * (-len(s) % 4)  # پر کردن خودکار با '='
    return base64.b64decode(s).decode('utf-8')
Go
رمزگذاری (متن → Base64)
import (
    "encoding/base64"
)

enc := base64.StdEncoding.EncodeToString([]byte(text))
// رمزگذاری مطمئن برای URL (بدون پرکننده)
urlEnc := base64.RawURLEncoding.EncodeToString([]byte(text))
رمزگشایی (Base64 → متن)
import (
    "encoding/base64"
)

decBytes, err := base64.StdEncoding.DecodeString(enc)
// رمزگشایی مطمئن برای URL (بدون پرکننده)
decURL, err2 := base64.RawURLEncoding.DecodeString(urlEnc)
Rust
رمزگذاری (متن → Base64)
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());
رمزگشایی (Base64 → متن)
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();
وابستگی Cargo: base64 = "0.22"
Java
رمزگذاری (متن → Base64)
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));
رمزگشایی (Base64 → متن)
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);

نمونه‌های Data URI

لانه‌گذاری تصاویر یا فایل‌های کوچک به عنوان Data URI:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...

توجه: از داده‌های URI برای فایل‌های بزرگ استفاده نکنید، زیرا به طور قابل توجهی حجم HTML/JSON را افزایش می‌دهند و عملکرد را کاهش می‌دهند.