ByteCompress

ترميز Base64

قم بتحويل النص العادي أو السلاسل الثنائية إلى إخراج مشفر بـ Base64. يدعم الأبجديات القياسية والآمنة URL وفقًا لـ RFC 4648، ويتعامل مع UTF-8 بالكامل بما في ذلك الرموز التعبيرية والنصوص غير اللاتينية.

0 chars
FreeClient-sideNo signup

يضيف Base64 حوالي 33% إلى حجم البيانات. هذه المقايضة موجودة لأن البيانات الثنائية تحتاج إلى البقاء في قنوات النصوص فقط مثل رؤوس البريد الإلكتروني، وأحمال JSON، ورؤوس HTTP Authorization. تم تعريفه في RFC 4648، يستخدم Base64 أبجدية مكونة من 64 حرفًا: A-Z، a-z، 0-9، بالإضافة إلى + و/ (أو - و_ في وضع الأمان URL). يقوم هذا المشفر المستند إلى المتصفح بمعالجة إدخالك بالكامل على جهازك باستخدام واجهات برمجة التطبيقات المدمجة btoa() وTextEncoder. لا يتم إرسال السلاسل الخاصة، والرموز، والبيانات الاعتمادية إلى أي خادم.

كيفية الترميز إلى Base64

  1. اكتب أو الصق النص الذي تريد ترميزه في حقل الإدخال.
  2. اختر وضع الترميز القياسي أو الآمن URL.
  3. يظهر الإخراج المشفر بـ Base64 على الفور في لوحة الإخراج.
  4. انقر على نسخ لنسخ النتيجة إلى الحافظة الخاصة بك.

كيف يعمل ترميز Base64

الأبجدية المكونة من 64 حرفًا

يستخدم Base64 أبجدية مكونة من 64 حرفًا: A-Z (26)، a-z (26)، 0-9 (10)، واثنان من الأحرف الإضافية. يستخدم Base64 القياسي (RFC 4648 §4) + و/. يستبدل Base64 الآمن URL (RFC 4648 §5) تلك الأحرف بـ - و_. يأخذ الترميز ثلاث بايتات إدخال (24 بت)، ويقسمها إلى أربع مجموعات من 6 بت، ويقوم بربط كل قيمة من 6 بت بالحرف المقابل في الأبجدية. لهذا السبب يكون طول إخراج Base64 دائمًا مضاعفًا لـ 4.

Padding

نظرًا لأن Base64 يعالج البيانات في مجموعات من 3 بايت، فإن أطوال الإدخال التي ليست مضاعفات لـ 3 تتطلب padding. ينتج عن بايت متبقي == في النهاية. ينتج عن بايتين متبقيين =. يكون padding مطلوبًا في Base64 القياسي ولكنه غالبًا ما يتم حذفه في التطبيقات الآمنة URL، وخاصة JWTs.

مثال

الإدخال

مرحبًا، عالم!

الإخراج (Base64 القياسي)

SGVsbG8sIFdvcmxkIQ==

تظهر حرفا = padding لأن "مرحبًا، عالم!" يتكون من 13 بايت - 13 mod 3 = 1، لذا يبقى بايت واحد في المجموعة النهائية.

حالات الاستخدام الشائعة

  • المصادقة الأساسية HTTP - تتطلب رؤوس Authorization: Basic ترميز username:password بـ Base64
  • الصور المضمنة في HTML/CSS - بيانات URIs: data:image/png;base64,iVBORw0KGgo...
  • رموز JWT - تستخدم أقسام الرأس والحمولة Base64 الآمن URL
  • المرفقات البريدية - يستخدم MIME (RFC 2045) Base64 لترميز المرفقات الثنائية في بروتوكولات البريد الإلكتروني المعتمدة على النصوص

Base64 القياسي مقابل Base64 الآمن URL

يستخدم Base64 القياسي + و/، والتي لها معاني خاصة في عناوين URL. يستبدل Base64 الآمن URL تلك الأحرف بـ - و_، مما يجعل الإخراج آمنًا في عناوين URL، وأسماء الملفات، ومعلمات الاستعلام دون الحاجة إلى ترميز النسبة المئوية. استخدم وضع الأمان URL لرموز JWT، ورموز OAuth، وأي بيانات Base64 تظهر في عناوين URL. لفك تشفير الإخراج، استخدم فك تشفير Base64. لدمج البيانات المشفرة في معلمات استعلام URL، اجمع بين هذه الأداة وترميز URL.

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

هل Base64 شكل من أشكال التشفير؟

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

لماذا ينتهي إخراج Base64 دائمًا بـ == أو =؟

يقوم Base64 بترميز البيانات في مجموعات من 3 بايت إلى 4 أحرف. عندما لا يكون طول الإدخال قابلًا للقسمة على 3، فإن المجموعة النهائية تحتوي على 1 أو 2 بايت بدلاً من 3. ينتج عن بايت متبقي == padding؛ بينما ينتج عن بايتين متبقيين =. يضمن padding أن يكون طول الإخراج دائمًا مضاعفًا لـ 4، كما هو مطلوب بموجب RFC 4648.

هل يتعامل هذا المشفر مع Unicode والرموز التعبيرية بشكل صحيح؟

نعم. يقوم المشفر أولاً بتحويل النص إلى بايتات UTF-8 باستخدام واجهة برمجة التطبيقات TextEncoder في المتصفح قبل تطبيق Base64. يتم ترميز الأحرف Unicode بما في ذلك الرموز التعبيرية (4 بايت في UTF-8)، والأحرف الصينية، والأحرف العربية، والأحرف اللاتينية ذات التشكيل بشكل صحيح وتفكك إلى النص الأصلي.

ما هو Base64 الآمن URL ومتى يجب أن أستخدمه؟

يستبدل Base64 الآمن URL (RFC 4648 §5) + بـ - و/ بـ _. استخدمه كلما ظهرت بيانات Base64 في عنوان URL، أو اسم ملف، أو ملف تعريف الارتباط، أو رأس HTTP حيث يمكن أن يتم تفسير الأحرف القياسية بشكل خاطئ. تستخدم رموز JWT، ورموز وصول OAuth، ومحققو رموز PKCE جميعًا Base64 الآمن URL.

بكم يزيد Base64 من حجم البيانات؟

يزيد ترميز Base64 من حجم البيانات بنسبة 33.33% بالضبط - 3 بايت إدخال تصبح 4 أحرف إخراج (4/3 = 1.333...). بالإضافة إلى ذلك، قد يتضمن الإخراج ما يصل إلى 2 حرف padding. بالنسبة للأحمال الثنائية الكبيرة، فإن البروتوكولات متعددة الأجزاء أو الثنائية أكثر كفاءة في استخدام النطاق الترددي من Base64.