فكّ ترميز Base64 هو العملية العكسية لترميز Base64: تحويل سلسلة ASCII مرمَّزة بـBase64 إلى البيانات الثنائية أو النص الأصلي. كل 4 أحرف Base64 تُفكَّ إلى 3 بايتات من البيانات الأصلية. يبحث وحدة فكّ الترميز عن كل حرف في أبجدية Base64، ويعيد بناء مجموعات الـ6 بتات الأصلية، ويعيد تجميعها في بايتات 8 بتات.
يمكن التعرف على البيانات المرمَّزة بـ Base64 من خلال استخدامها للأحرف الكبيرة والصغيرة والأرقام وإما +/ (المعيار) أو -_ (الآمن لعناوين URL)، وكثيراً ما تنتهي بحرف حشو = واحد أو اثنين. وتظهر بكثرة في رموز JWT وملحقات البريد الإلكتروني وعناوين data URI واستجابات API وملفات الضبط — في كل مكان يُحتاج فيه إلى تضمين بيانات ثنائية أو منظَّمة في سياق نصي بحت.
لماذا تستخدم هذه الأداة؟
تتعامل هذه الأداة مع Base64 القياسي وURL-safe، وتصحح الحشو المفقود تلقائيًا، وتفكّ الترميز بالكامل في متصفحك دون إرسال بيانات إلى الخوادم.
⚡
تصحيح الحشو تلقائيًا
كثير من المصادر تنتج Base64 دون أحرف = اللاحقة. تحسب هذه الأداة تلقائيًا الحشو المفقود وتضيفه قبل فكّ الترميز، مما يمنع استثناءات InvalidCharacterError.
🛡️
دعم كلتا المتغيرتين
تكتشف تلقائيًا وتتعامل مع Base64 القياسي (+/) وBase64 URL-safe (-_)، حتى تتمكن من لصق الرموز من أي مصدر دون تحويل يدوي.
🔒
يعمل بالكامل على جانب العميل
يتم فكّ الترميز محليًا في متصفحك باستخدام واجهة atob الأصلية. بياناتك — التي قد تحتوي على أسرار أو محتوى حساس — لا تغادر جهازك أبدًا.
🌐
مخرجات Unicode
تفكّ ترميز النص المُرمَّز بـUTF-8 بشكل صحيح إلى Unicode الكامل، بما في ذلك الأحرف متعددة البايتات والرموز التعبيرية ونصوص CJK.
كيفية استخدام أداة فك ترميز Base64 هذه عبر الإنترنت
لا حاجة إلى حساب أو تحميل أو تثبيت. الصق سلسلة Base64 في حقل الإدخال وسيظهر الناتج المفكوك فورًا. كل شيء يعمل داخل متصفحك — بياناتك لا تغادر جهازك أبدًا.
1
الصق سلسلة Base64
انسخ أي سلسلة مشفرة بـ Base64 من مصدرك — JWT أو استجابة API أو رأس مرفق بريد إلكتروني أو ملف إعداد — والصقها في حقل الإدخال. يتم الكشف تلقائيًا عن المتغيرين القياسي وURL-safe.
2
الكشف التلقائي والإصلاح
تحدد الأداة ما إذا كانت المدخلات تستخدم Base64 القياسي (+/) أو URL-safe (-_)، وتصحح تلقائيًا الحشو = المفقود. لا حاجة إلى تطبيع السلسلة يدويًا قبل فك الترميز.
3
فحص الناتج
يظهر النص المفكوك في حقل الإخراج. إذا كانت البيانات الأصلية نصًا بترميز UTF-8 فستُعرض كأحرف قابلة للقراءة. تُعرض البيانات الثنائية كما هي. تظهر رسالة خطأ إذا احتوت المدخلات على أحرف غير صالحة لا يمكن فك ترميزها.
4
انسخ النتيجة أو استخدمها
انقر على نسخ للحصول على الإخراج المفكوك، أو استخدمه مباشرةً في سير عملك. هل تحتاج إلى إعادة ترميز النتيجة؟ انتقل إلى أداة Base64 Encoder بنقرة واحدة.
كيف تعمل عملية فكّ الترميز
يُربَط كل حرف Base64 بقيمة 6 بتات (0–63). يوفر أربعة أحرف متتالية 24 بتًا، تُفكُّ إلى 3 بايتات من البيانات الأصلية. يوضح المثال أدناه كيف تُفكَّ "TWFu" لتعود إلى "Man":
مثال "Man" → TWFu → "Man"
الحرف
الفهرس
6 بتات
T
19
010011
W
22
010110
F
5
000101
u
46
101110
تُجمَع مجموعات الـ6 بتات الأربع (010011 010110 000101 101110) في 24 بتًا، ثم تُقسَّم إلى ثلاثة بايتات 8 بتات: 01001101 (M=77)، 01100001 (a=97)، 01101110 (n=110).
فهم الحشو
يُجمِّع ترميز Base64 بايتات المدخلات في مجموعات من 3. عندما لا يكون طول المدخلات قابلًا للقسمة على 3، تُضاف أحرف الحشو (=) لإكمال المجموعة الأخيرة. عند فكّ الترميز، تُزال أحرف = هذه، ويعلم وحدة فكّ الترميز بتجاهل بتات الصفر الإضافية التي أُضيفت أثناء الترميز.
الأصلي
مُرمَّز
قاعدة الحشو
A
QQ==
1 byte → 2 padding chars
AB
QUI=
2 bytes → 1 padding char
ABC
QUJD
3 bytes → no padding needed
حالات الاستخدام الشائعة
فحص حمولات JWT
تتكون رموز JWT من ثلاثة أجزاء مُرمَّزة بـBase64 URL-safe. يكشف فكّ ترميز الجزء الثاني (الحمولة) عن المطالبات: معرّف المستخدم والأدوار ووقت الانتهاء والبيانات الوصفية الأخرى — دون الحاجة إلى مفتاح توقيع.
قراءة استجابات واجهات برمجة التطبيقات
كثيرًا ما تُعيد واجهات برمجة تطبيقات REST البيانات الثنائية (محتويات الملفات والصور المصغَّرة والمواد التشفيرية) مُرمَّزةً بـBase64 في استجابات JSON. افكّ ترميز الحقل لقراءة البيانات الأصلية.
فكّ ترميز محتوى البريد الإلكتروني
أجسام البريد الإلكتروني MIME ومرفقاته مُرمَّزة بـBase64. يكشف فكّ ترميزها عن محتوى النص الأصلي أو يتيح لك إعادة بناء المرفقات الثنائية.
استخراج أسرار Kubernetes
يخزّن Kubernetes قيم الأسرار بـBase64 في مانيفستات YAML. يكشف فكّ ترميزها عن كلمات المرور والرموز والمفاتيح الفعلية المخزَّنة في المجموعة — مفيد لتصحيح الأخطاء والتدقيق.
تصحيح أخطاء التهيئة
كثيرًا ما تُرمَّز متغيرات البيئة وأسرار خط أنابيب CI/CD بـBase64 للتخزين الآمن في ملفات تهيئة YAML أو JSON. افكّها لتحقق من القيم الفعلية أثناء تصحيح الأخطاء.
فكّ ترميز معرّفات URI للبيانات
تُضمِّن معرّفات URI للبيانات الأصول المُرمَّزة بـBase64 مباشرةً في HTML/CSS. افكّ ترميز جزء Base64 لاستخراج الصورة أو الخط أو المورد المُضمَّن الأصلي.
المزالق الشائعة
هذه هي الأسباب الأكثر شيوعًا لأخطاء فكّ ترميز Base64 في الممارسة العملية:
✕
حشو مفقود
يجب أن يكون طول سلاسل Base64 من مضاعفات 4. تحذف كثير من واجهات برمجة التطبيقات ومكتبات JWT أحرف = اللاحقة للإيجاز. أضف الحشو مجددًا: عدد أحرف = المفقودة هو (4 - الطول % 4) % 4.
✕
أحرف URL-safe لم تُحوَّل
يستخدم Base64 URL-safe - و_ بدلًا من + و/. إذا مررت Base64 URL-safe مباشرةً إلى atob() أو base64.b64decode()، فسيفشل. استبدل دائمًا - → + و_ → / قبل فكّ الترميز بالمكتبات القياسية.
✕
المسافات البيضاء وفواصل الأسطر
كثيرًا ما تحتوي شهادات PEM وبيانات MIME وBase64 المنسوخة واللصيقة على فواصل أسطر كل 76 حرفًا. أزل جميع المسافات البيضاء قبل فكّ الترميز لتجنب InvalidCharacterError.
✕
مخرجات ثنائية مقابل نصية
يستطيع Base64 ترميز أي بيانات ثنائية وليس النصوص فقط. إذا كانت البيانات الأصلية ملفًا ثنائيًا (صورة أو PDF)، فإن فكّ ترميزها كنص UTF-8 سينتج بياناتٍ غير مفهومة. استخدم طريقة المخرجات الثنائية المناسبة للحمولات غير النصية.
أمثلة على التعليمات البرمجية
كيفية فكّ ترميز سلسلة Base64 في اللغات والبيئات الشائعة:
JavaScript (browser)
// Standard Base64
const decoded = decodeURIComponent(escape(atob(encoded)))
// URL-safe Base64 (restore padding first)
function decodeUrlSafe(str) {
const padded = str.replace(/-/g, '+').replace(/_/g, '/')
const pad = padded.length % 4
return decodeURIComponent(escape(atob(padded + '='.repeat(pad ? 4 - pad : 0))))
}
تستطيع أدوات متعددة فك ترميز Base64، لكنها تتفاوت في الخصوصية والسرعة والراحة.
هذه الأداة
تعمل في المتصفح، فورية، خاصة. لا تُرسَل أي بيانات إلى أي خادم. تتعامل مع Base64 القياسي وURL-safe، وتصحح الحشو المفقود تلقائيًا، وتعمل دون اتصال.
سطر الأوامر (base64 -d)
سريع للنصوص البرمجية والملفات الكبيرة. يتطلب طرفية. يحتاج إلى تطبيع يدوي لمدخلات URL-safe (-_ → +/).
أدوات متعددة الأغراض
يمكن لـ Curl وPostman وأدوات المطور في المتصفح والمحولات الإلكترونية جميعها فك ترميز Base64. تتفاوت مستويات الراحة؛ وبعضها يرسل البيانات إلى خوادم بعيدة.
الأسئلة الشائعة
لماذا ينتج فكّ الترميز أحرفًا غير مقروءة؟
السبب الأكثر شيوعًا هو فكّ ترميز البيانات الثنائية (الصور والملفات المضغوطة) كنص UTF-8 — كثيرًا ما لا تُشكِّل البايتات الثنائية تسلسلات Unicode صالحة. سبب آخر هو فكّ ترميز Base64 URL-safe (-_) بوحدة فكّ ترميز قياسية تتوقع +/. تحقق من المتغيرة التي يستخدمها مصدرك.
ما هو InvalidCharacterError؟
يحدث هذا الخطأ من atob() عندما تحتوي المدخلات على أحرف خارج أبجدية Base64، مثل الأحرف URL-safe (- أو _) والمسافات البيضاء وفواصل الأسطر والأحرف غير ASCII. أزل المسافات البيضاء وحوِّل أحرف URL-safe قبل استدعاء atob().
كيف أعرف ما إذا كان Base64 الخاص بي URL-safe أم قياسيًا؟
ابحث عن أحرف - أو _: إذا كانت موجودة، فهو Base64 URL-safe. يستخدم Base64 القياسي + و/. عادةً ما يحذف Base64 URL-safe أيضًا أحرف الحشو =. تستخدم رموز JWT دائمًا Base64 URL-safe.
هل يمكن أن يفشل فكّ ترميز Base64 بصمت؟
نعم. تتجاهل بعض وحدات فكّ الترميز الأحرف غير الصالحة بصمت بدلًا من إلقاء خطأ، مما ينتج مخرجات غير صحيحة. تحقق دائمًا من أن بياناتك المفكوكة تطابق التنسيق المتوقع (JSON وترويسة الصورة وغيرها) بدلًا من افتراض نجاح وحدة فكّ الترميز.
هل هناك حد لحجم فكّ ترميز Base64؟
يمكن لهذه الأداة المستندة إلى المتصفح التعامل مع سلاسل Base64 حتى بضعة ميغابايتات قبل أن تصبح الواجهة بطيئة. للملفات الكبيرة جدًا، استخدم أداة سطر أوامر أو وحدة فكّ ترميز من جانب الخادم.
لماذا ينتهي Base64 بعلامة = واحدة أو اثنتين؟
= هو حرف الحشو. يُرمِّز Base64 3 بايتات في 4 أحرف. إذا لم يكن طول البيانات الأصلية من مضاعفات 3، تُضاف علامة = أو علامتان حتى يكون إجمالي طول المخرجات من مضاعفات 4. تعني = الواحدة 2 بايت مدخلة في المجموعة الأخيرة؛ وتعني == بايتًا واحدًا مدخلًا.
هل يمكنني فك ترميز ملفات ثنائية أو صور أو ملفات PDF؟
نعم، لكن الناتج سيكون بيانات ثنائية خامة قد لا تُعرض بشكل صحيح كنص. للمحتوى الثنائي، يُفضَّل استخدام data URI مباشرةً في وسم '<'img'>' أو '<'a'>'، أو حفظ البايتات المفككة في ملف باستخدام نص برمجي.
هل هناك حد لحجم البيانات التي يمكن فك ترميزها؟
تعمل هذه الأداة بالكامل في المتصفح دون أي قيود من جانب الخادم. تعتمد الحدود العملية على ذاكرة متصفحك. يُستحسن معالجة سلاسل Base64 الكبيرة جدًا (التي تزيد عن بضعة ميغابايت) باستخدام أداة سطر أوامر مثل base64 -d (Linux/macOS) أو certutil -decode (Windows).