الانتقال إلى المحتوى الرئيسي
PulsarKit

ترميز Base64 وفك ترميزه

رمّز نصًا أو ملفًا إلى Base64، أو فك ترميزه إلى أصله، مع دعم الأبجدية الآمنة لعناوين URL وData URI وتقسيم الأسطر وفق MIME.

أفلت ملفاتك هنا

⁦.txt, .b64, .base64⁩ · حتى 150 م.ب

كيفية ترميز Base64 وفك ترميزه

  1. 1

    اختيار الترميز أو فك الترميز

    اختر الاتجاه أولًا: الشاشة نفسها تعمل في الاتجاهين، وتحديد الاتجاه في البداية يمنع ترميز أي شيء مرتين عن طريق الخطأ.

  2. 2

    لصق النص أو إفلات ملف

    الصق النص أو أفلت الملف: يمكن ترميز أي نوع من الملفات، ويقبل فك الترميز سلسلة نصية ملصوقة، أو Data URI، أو ملفًا نصيًا يحتوي أحدهما.

  3. 3

    نسخ النتيجة أو تنزيلها

    انسخ النتيجة أو نزّلها: يُتعرف تلقائيًا على ناتج فك الترميز، نصًا كان أو بيانات ثنائية، ويُسمّى الملف بالامتداد الصحيح.

ما الغرض من Base64 وما ليس غرضه

وُجد Base64 لأن بعض القنوات لا تنقل إلا نصًا قابلًا للطباعة: نصوص رسائل البريد الإلكتروني، وحقول السلاسل النصية في JSON، وسمات HTML، وترويسات HTTP. وهو يحوّل كل ثلاثة بايتات إلى أربعة أحرف من أبجدية من 64 حرفًا، ولهذا يكون الناتج دائمًا أكبر من المدخل بنحو الثلث. إنه ترميز لا تشفير: يستطيع أي شخص فك ترميزه دون مفتاح، والأبجدية معروفة للجميع. فإذا كان المحتوى سرًا، فلن يحميه Base64 بشيء، والرمز المميز (token) الملصوق في حقل Base64 يبقى مكشوفًا بعد الترميز تمامًا كما كان قبله.

Data URI والأبجدية الآمنة لعناوين URL

يغلّف Data URI البايتات المرمّزة ببادئة تذكر نوع وسائطها، فيمكن استخدام data:image/png;base64,… مباشرة مصدرًا لصورة أو خلفية في CSS. عند ترميز ملف يؤخذ نوع الوسائط من الملف نفسه؛ وعند ترميز نص ملصوق تحدده أنت. وتضع الأبجدية الآمنة لعناوين URL الرمز - مكان + والرمز _ مكان /، وتحذف الحشو في آخر السلسلة، لأن لهذه الرموز الثلاثة معنى خاصًا داخل عنوان URL أو اسم ملف. ويقبل فك الترميز أيًا من الأبجديتين دون أن تخبره بأيهما، ويتجاهل فواصل الأسطر تمامًا، فتُلصق السلاسل المقسّمة وفق MIME أو PEM كما هي دون تعديل.

أخطاء دقيقة بدل نتائج بلا معنى

سلسلة Base64 التي تحتوي حرفًا من خارج الأبجدية، أو التي يترك طولها باقيًا قدره واحد عند قسمته على أربعة، لا يمكن أن تُفك إلى أي شيء ذي معنى. وبدل إعادة بايتات مبتورة، يُبلّغ عن موضع الحرف المخالف ليسهل العثور عليه في سلسلة طويلة. وحالة Data URI المرمّز بترميز النسبة المئوية (percent-encoding) لا بترميز Base64 حالة حقيقية ومربكة، لأن كليهما يبدأ بالبادئة data:. هنا تُكتشف السلسلة وتُوجّه إلى أداة «ترميز URL وفك ترميزه»، بدل أن تُقرأ على أنها Base64 فتُنتج كلامًا بلا معنى.

الترميز في متصفحك لا على خادم

يجري التحويل كله في علامة التبويب هذه باستخدام الوظائف المدمجة في المتصفح نفسه، على أجزاء حتى لا يستنفد الملف الكبير الذاكرة. لا يُرفع أي شيء، وهذا مهم لأن بيانات Base64 كثيرًا ما تحتوي على شهادات ومفاتيح ومستندات خاصة.

الأسئلة الشائعة

هل Base64 نوع من التشفير؟

لا. إنه ترميز قابل للعكس بأبجدية معروفة للجميع وبلا مفتاح. يستطيع أي شخص لديه السلسلة استعادة البايتات الأصلية، فهو لا يحمي شيئًا؛ كل ما يفعله أنه يجعل البيانات الثنائية قابلة للنقل عبر قنوات لا تقبل إلا النص.

ما هو Data URI؟

سلسلة تحمل نوع وسائط الملف ومحتواه بترميز Base64 معًا، مثل data:image/png;base64,iVBOR… ويمكن استخدامها مباشرة مصدرًا لصورة أو خلفية في CSS، فتُغني عن طلب شبكة منفصل لملف صغير.

لماذا أحتاج إلى الأبجدية الآمنة لعناوين URL؟

لأن للرمزين + و/ معنى داخل عناوين URL وأسماء الملفات، وللرمز = دوره الخاص في سلاسل الاستعلام. أما النسخة الآمنة لعناوين URL فتستخدم - و_ بدلًا منهما وتحذف الحشو، وهذا ما تتوقعه رموز JWT وكثير من واجهات API.

لماذا تكون النتيجة أطول من المدخل بالثلث؟

ثلاثة بايتات تصبح أربعة أحرف بحكم التصميم، فيكون حجم الناتج 4/3 حجم المدخل قبل أي فواصل أسطر. وهذه الزيادة ثمن الاقتصار على الأحرف القابلة للطباعة.

كيف أفك ترميز Base64 إلى ملف بدل نص؟

الوضع التلقائي يفعل ذلك أصلًا: إذا لم تكن البايتات بعد فك الترميز نصًا صالحًا بترميز UTF-8، تحصل على ملف. ويمكنك أيضًا فرض الإخراج إلى ملف وتحديد اسمه، ويُصحّح الامتداد وفق نوع الوسائط حين يكون Data URI قد حدده.

لماذا يظهر لي خطأ «حرف غير صالح»؟

لأن السلسلة تحتوي شيئًا من خارج أبجدية Base64، وغالبًا علامة اقتباس شاردة أو كيان HTML علق بها أثناء النسخ، أو لأنها مبتورة. ويشير الموضع المذكور في رسالة الخطأ إلى الحرف الذي يجب أن تفحصه بالضبط.

هل يُرفع ملفي إلى أي مكان؟

لا. يجري الترميز وفك الترميز كلاهما محليًا في متصفحك باستخدام الوظائف المدمجة، بلا مكتبة وبلا خادم، ولا يُحتفظ بأي شيء بعد إغلاق علامة التبويب.

أدوات ذات صلة