تشفير/فك تشفير Base64 (النص)
⚡ مُشَفِّر Base64 مجاني عبر الإنترنت للمطورين والمستخدمين المتقدمين. حوّل النصوص وملفات JSON والبيانات الثنائية إلى سلاسل Base64 على الفور. 🔐 مثالي لواجهات برمجة التطبيقات والعناوين ومعرفات URI للبيانات والاختبارات. كل عملية الترميز تتم في متصفحك.
لماذا تستخدم هذا المشفر 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 ميجابايت | جيد بشكل عام على الأجهزة الحديثة | فكر في استخدام أدوات سطر الأوامر إذا كنت تفعل هذا كثيرًا |
| > 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 في عناوين URI للبيانات تقليل طلبات HTTP، لكن تجنب فعل هذا للصور أو الخطوط الكبيرة.
سجل فقط الحِملات المقطوعة من Base64 (أو التجزئات) في الإنتاج لتجنب تسريب محتوى حساس في السجلات.
إذا كان خادمك الخلفي يتوقع Base64، تحقق من صحة المدخلات وقم بتطبيعها من جانب الخادم لرفض الحِملات المشوهة أو كبيرة الحجم بشكل غير معقول.
Additional Resources
Other Tools
- محسن CSS
- محسن HTML
- محسن Javascript
- محسن PHP
- منتقي الألوان
- مستخرج Sprite
- مُشَفِّر ثنائي Base32
- فَكَّاك Base32
- مُشَفِّر Base32
- مُشَفِّر ثنائي Base58
- فَكَّاك Base58
- مُشَفِّر Base58
- مُشَفِّر ثنائي Base62
- فَكَّاك Base62
- مُشَفِّر Base62
- مُشَفِّر ثنائي Base64
- فك تشفير 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