تشفير/فك تشفير Base64 (النص)
Input
Output
لماذا تستخدم مشفر Base64 هذا
- تشفير Base64 فوري للنصوص، JSON وحمولات ثنائية صغيرة
- دعم الملفات (نصوص، صور، ثنائيات) للتحويل السريع إلى سلاسل Base64
- خيار آمن للروابط لـ JWTs، معاملات الاستعلام والسياقات الآمنة للويب
- تفاف أسطر اختياري لمحاكاة أدوات CLI أو تنسيقات البريد الإلكتروني / PEM
- نسخ بنقرة واحدة لإعادة الاستخدام السهل في الرؤوس، الإعدادات والكود
- واجهة مستجيبة تعمل جيدًا على سطح المكتب والجوال
- التشفير يحدث في متصفحك — بياناتك لا تُرسل إلى خادم بعيد
🔧 كيف يعمل ترميز Base64 (خطوة بخطوة) for base64-encoder
تقديم المدخلات
الصق نصك، JSON أو مقتطف في منطقة الإدخال، أو أسقط ملفًا لتحويل بايتاته الخام إلى Base64. الأداة تقرأ البايتات تمامًا كما هي.
تحويل إلى بايتات
المشفر يحول الأحرف (مثل نص UTF-8) أو محتوى الملف إلى بايتات. كل بايت هو قيمة 8 بت بين 0 و 255.
إعادة تجميع البتات إلى فهارس Base64
كل 3 بايتات (3 × 8 = 24 بت) تُعاد تجميعها إلى 4 مجموعات من 6 بت (4 × 6 = 24). كل مجموعة 6 بت هي فهرس في أبجدية Base64.
تعيين إلى أحرف Base64 والحشو
كل فهرس 6 بت يُحول إلى حرف Base64. إذا لم يكن المدخل قابلاً للقسمة على 3 بايتات، يُضاف حشو '=' بحيث يكون طول المخرج دائمًا مضاعفًا لـ 4 أحرف.
المواصفات الفنية
مجموعة الأحرف (RFC 4648)
هذا المشفر يستخدم أبجدية Base64 القياسية المُعرّفة بواسطة RFC 4648.
| النطاق / النوع | الأحرف | ملاحظات |
|---|---|---|
| الفهارس 0–25 | A–Z | حروف كبيرة |
| الفهارس 26–51 | a–z | أحرف صغيرة |
| المؤشرات 52–61 | 0–9 | أرقام |
| المؤشرات 62–63 | + / | رموز Base64 القياسية |
| الحشو | = | يضمن أن يكون طول المخرج مضاعفًا للعدد 4 |
الحجم والزيادة
يتبادل Base64 الحجم مقابل الأمان في القنوات النصية فقط. توقع زيادة في البيانات بحوالي الثلث بعد التشفير.
| الحجم الأصلي | حجم Base64 (تقريبي) | الزيادة |
|---|---|---|
| 3 بايت | 4 أحرف | أكبر بحوالي 33% |
| 1 كيلوبايت | ≈ 1.37 كيلوبايت | ~37% بما في ذلك الحشو وسطور جديدة |
| 1 ميجابايت | ≈ 1.37 ميجابايت | نفس النسبة على نطاقات أكبر |
الأداء والحدود العملية
التشفير نفسه سريع، لكن المخازن المؤقتة الكبيرة يمكن أن تؤثر على ذاكرة المتصفح وسرعة الاستجابة.
| حجم الحمولة | تجربة المستخدم | التوصية |
|---|---|---|
| بضعة كيلوبايت | فوري | مثالي للرؤوس ومقتطفات التكوين وبيانات الاختبار |
| 100 كيلوبايت – 1 ميجابايت | استجابة سريعة جدًا | نموذجي لحمولات API والبيانات الثابتة |
| 1–5 ميجابايت | جيد بشكل عام على الأجهزة الحديثة | فكر في استخدام أدوات CLI إذا كنت تفعل هذا كثيرًا |
| > 5–10 ميجابايت | قد يشعر بالبطء أو استهلاك كبير للذاكرة في المتصفح | استخدم برامج التشفير المتدفقة أو أدوات سطر الأوامر |
تشفير Base64 عبر سطر الأوامر
للملفات الكبيرة، الأتمتة أو سير عمل التكامل المستمر، استخدم أدوات Base64 الأصلية على منصتك.
لينكس / 🍏 ماك أو إس
تشفير نص
echo -n 'text' | base64يشفر النص 'text' إلى Base64 دون إضافة سطر جديد.
تشفير ملف
base64 input.bin > output.b64يقرأ البيانات الثنائية من input.bin ويكتب نص Base64 إلى output.b64.
ويندوز / PowerShell
تشفير نص باستخدام PowerShell
[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("text"))يحول بايتات UTF-8 للنص 'text' إلى سلسلة Base64.
تشفير ملف باستخدام certutil (CMD)
certutil -encode input.bin output.b64يستخدم الأداة المدمجة في ويندوز لإنشاء ملف مشفر بـ Base64.
التطبيقات العملية
تطوير الويب وعناوين URI للبيانات
دمج الأصول والموارد الصغيرة مباشرة في HTML أو CSS أو JavaScript.
- إنشاء data:image/...;base64,... للشعارات، الأيقونات والصور الصغيرة.
- تضمين الخطوط أو محتوى SVG في قواعد CSS.
- تخزين الحمولات الصغيرة في LocalStorage كسلاسل Base64.
<img src="data:image/png;base64,iVBORw0KGgo...">document.styleSheets[0].insertRule("@font-face{src:url('data:font/woff2;base64,...')}" );تطوير واجهات برمجة التطبيقات والرؤوس
نقل بيانات الاعتماد والحمولات الصغيرة بأمان عبر قنوات نصية فقط.
- بناء رؤوس Authorization: Basic من أزواج اسم المستخدم:كلمة المرور.
- تشفير الحمولات JSON إلى Base64 للرؤوس المخصصة أو معاملات الاستعلام.
- تغليف الكتل الثنائية في JSON كسلاسل Base64.
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=fetch(url, { headers: { 'X-Payload': btoa(JSON.stringify(data)) } });الاختبار، البيانات الثابتة والتشخيص
بناء بيانات ثابتة نصية فقط مستقرة للاختبارات وجلسات التشخيص.
- تشفير البيانات الثابتة الثنائية (الصور، ملفات PDF) وتضمينها في كود الاختبار.
- تخزين نماذج الحمولات كسلاسل Base64 بدلاً من حفظ ملفات ثنائية.
- نماذج حمولات أولية للخدمات التي تتوقع حقولاً مشفرة بتنسيق Base64.
// مثال: اختبار Jest باستخدام قاعدة بيانات Base64
const payload = Buffer.from(base64Fixture, 'base64');
expect(processPayload(payload)).toBeTruthy();
❓ Frequently Asked Questions
❓لماذا يستخدم Base64 حرف '=' للحشو؟
Base64 بتجميع المدخلات في كتل من 3 بايت (24 بت) ويخرج 4 أحرف (4 × 6 بت). عندما لا يكون طول المدخلات قابلاً للقسمة على 3، تتم إضافة أحرف الحشو '=' للإشارة إلى أن الكتلة الأخيرة أقصر. الحشو هو جزء من تنسيق التشفير، وليس من البيانات الأصلية.🔗كيف يمكنني إنشاء Base64 آمن للروابط؟
Base64 الآمن للروابط '+' بـ '-' و '/' بـ '_'، وغالباً ما يزيل حشو '=' الزائدة. تحتوي العديد من المكتبات على وضع آمن للروابط. إذا كنت بحاجة إلى القيام بذلك يدوياً، ابدأ من Base64 القياسي، ثم طبق هذه الاستبدالات وقم بقص '=' حسب حالة استخدامك.🔒هل يشكل ترميز Base64 إجراءً أمنياً؟
Base64 هو **ترميز** قابل للعكس يجعل البيانات الثنائية آمنة للنقل كنص (على سبيل المثال في JSON أو HTML أو الرؤوس). لا يوفر سرية أو سلامة بذاته. استخدم دائماً HTTPS/TLS والتشفير المناسب (مثل AES أو أنظمة المفتاح العام) للأمان.📏ما هو الحد الأقصى لحجم الملف الذي يجب أن أقوم بتشفيره هنا؟
Pro Tips
للأصول الصغيرة جداً (< 10 كيلوبايت)، يمكن لتضمينها كروابط بيانات Base64 تقليل طلبات HTTP، لكن تجنب فعل هذا للصور أو الخطوط الكبيرة.
سجل فقط الحمولات المقطوعة من Base64 (أو التجزئات) في بيئة الإنتاج لتجنب تسريب محتوى حساس في السجلات.
إذا كان خادمك الخلفي يتوقع Base64، قم بالتحقق من صحة الإدخال وتطبيعه من جانب الخادم لرفض الحمولات المشوهة أو كبيرة الحجم بشكل غير معقول.
Additional Resources
Other Tools
- محسن CSS
- محسن HTML
- محسن Javascript
- محسن PHP
- منتقي الألوان
- مستخرج Sprite
- فك تشفير Base64
- منسق Csharp
- منسق CSV
- Dockerfile Formatter
- منسق Elm
- منسق ENV
- منسق Go
- منسق Graphql
- منسق Hcl
- منسق INI
- منسق JSON
- منسق Latex
- منسق Markdown
- منسق Objectivec
- Php Formatter
- منسق Proto
- منسق Python
- منسق Ruby
- منسق Rust
- منسق Scala
- منسق سكريبت Shell
- منسق SQL
- منسق SVG
- منسق Swift
- منسق TOML
- Typescript Formatter
- منسق XML
- منسق YAML
- منسق Yarn
- مختصر CSS
- Html Minifier
- Javascript Minifier
- مختصر JSON
- مصغر XML
- عارض رؤوس HTTP
- PDF إلى نص
- مختبر Regex
- مدقق ترتيب SERP
- بحث Whois