Base64

يحوّل النص من وإلى Base64، بما في ذلك صيغة آمنة لعناوين URL.

نص
Base64

سيظهر الإخراج هنا

ما هو Base64 ولماذا وُجد

‏Base64 طريقة لتمثيل أي بيانات ثنائية باستخدام 64 حرفًا بسيطًا قابلًا للطباعة فقط: A–Z وa–z و0–9 بالإضافة إلى رمزين. وُجد لأن كثيرًا من الأنظمة بُنيت لنقل النصوص لا البايتات الخام. فأجسام البريد الإلكتروني وعناوين URL وسلاسل JSON وسمات HTML وترويسات HTTP قد تتلف جميعها بمحتوى ثنائي عشوائي، لكنها تمرّر نص Base64 دون تغيير. والترميز إلى Base64 يجعل البيانات الثنائية آمنة للتضمين في هذه القنوات النصية فقط.

المقايضة هي الحجم: يمثّل Base64 كل ثلاثة بايتات بأربعة أحرف، فتكون الصورة المرمَّزة أكبر بنحو 33% من الأصل. هذا مقبول للحمولات الصغيرة مثل الرموز المميزة أو الصور الصغيرة أو المفاتيح، وهو سبب ندرة ترميز الملفات الكبيرة بـ Base64 عمليًا.

إنه ترميز، وليس تشفيرًا

هذا أهم ما ينبغي فهمه عن Base64: إنه لا يوفّر أي أمان على الإطلاق. يستطيع أي شخص فكّ ترميز Base64 فورًا — بما في ذلك هذه الأداة. فهو لا يخفي شيئًا ولا يحمي شيئًا. إن احتجت إلى إبقاء البيانات سرية، فشفّرها؛ فـ Base64 يجعل البيانات آمنة للنقل فقط، وترميز كلمة مرور أو مفتاح واجهة برمجة لا يُخفيه.

‏Base64 القياسي مقابل الآمن لعناوين URL

يستخدم Base64 القياسي + و/ كآخر حرفين له ويحشو النهاية بعلامات =. ولهذه الأحرف معنى خاص داخل عناوين URL وأسماء الملفات، لذا يستبدل المتغير الآمن لعناوين URL الحرفين + و/ بـ - و_ ويحذف الحشو عادةً. استخدم الخيار الآمن لعناوين URL عندما تظهر القيمة المرمَّزة في عنوان ويب أو معامل استعلام أو ملف تعريف ارتباط أو اسم ملف. ورموز JSON Web Token، مثلًا، تستخدم Base64 الآمن لعناوين URL لهذا السبب بالذات.

‏UTF-8 والنصوص غير ASCII

الدالتان المدمجتان في المتصفح btoa وatob تتعاملان مع Latin-1 فقط وتفشلان مع أحرف كالعبرية والعربية والصينية أو الرموز التعبيرية. ترمّز هذه الأداة النص كـ UTF-8 أولًا، فيعود أي حرف ذهابًا وإيابًا بشكل صحيح. أي أن שלום و😀 تُرمَّز وتُفكّ دون تلف — وهو مصدر شائع لـ «mojibake» (النص المشوّه) عند اللجوء إلى دوال المتصفح الأصلية.

  • الترميز: اكتب أو الصق نصًا مقروءًا واحصل على صورته بـ Base64.
  • فك الترميز: الصق Base64 (قياسيًا أو آمنًا لعناوين URL، بحشو أو بدونه) واسترجع النص الأصلي.

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

هل Base64 آمن أو مشفَّر؟
لا. Base64 ترميز قابل للعكس، وليس تشفيرًا. يستطيع أي شخص فكّه فورًا، لذا لا تستخدمه أبدًا لحماية كلمات المرور أو المفاتيح أو البيانات الشخصية.
هل يدعم العبرية والعربية والرموز التعبيرية؟
نعم. يُرمَّز النص كـ UTF-8 قبل Base64، فتُرمَّز أحرف مثل שלום و😀 وتُفكّ دون تلف، بخلاف دالة btoa المدمجة في المتصفح.
ما هو Base64 الآمن لعناوين URL؟
يستبدل الحرفين + و/ بـ - و_ ويحذف الحشو النهائي، بحيث يمكن استخدام النتيجة بأمان داخل عناوين URL وسلاسل الاستعلام وملفات تعريف الارتباط وأسماء الملفات ورموز مثل JWT.
لماذا مخرجاتي بعد فكّ الترميز فارغة أو خاطئة؟
عادةً لا يكون المدخل Base64 صالحًا — فقد يكون مبتورًا أو يحتوي أحرفًا من أبجدية أخرى أو يكون في الواقع نصًا عاديًا. تقبل الأداة المدخلات القياسية والآمنة لعناوين URL وتتسامح مع غياب الحشو، لكن يجب أن تبقى البايتات UTF-8 صالحًا لتُعرض كنص.
لماذا السلسلة المرمَّزة أطول من الأصل؟
يرمّز Base64 كل ثلاثة بايتات بأربعة أحرف، فتكون المخرجات أكبر بنحو الثلث من المدخلات. هذه الزيادة متأصلة في الصيغة.
هل أحتاج إلى أحرف الحشو (=)؟
يجعل الحشو الطول من مضاعفات الأربعة وتشترطه المفكِّكات الصارمة، لكن هذه الأداة تقبل المدخلات بوجوده أو بدونه. وعادةً ما يحذف Base64 الآمن لعناوين URL الحشو.
هل يُرسَل مدخلي إلى خادم؟
لا. يجري الترميز وفكّ الترميز بالكامل في متصفحك؛ لا شيء تلصقه يغادر جهازك.