WMW

ترميز/فك ترميز Base64

Free

شفّر النص إلى base64 أو فكّ تشفير base64 مرة أخرى إلى نص، مباشرة أثناء الكتابة، مع دعم كامل لـUnicode ومتغير اختياري آمن لعناوين URL.

يعمل بالكامل في متصفحك. لا يغادر النص جهازك أبدًا.

النشاط الأخير

مرئي للجميع. آخر 20 استخدامًا من جميع الزوار، الأحدث أولاً.

لا يوجد نشاط بعد. كن أول من يبدأ.

التعليقات (0)

هل وجدت هذه الأداة مفيدة؟ اترك تعليقًا، أو شارك نصيحة، أو أخبرنا كيف يمكننا تحسينها.

تُراجَع تعليقات الزوار قبل النشر. تسجيل الدخول للنشر فورًا.

لا توجد تعليقات بعد. كن أول من يشارك رأيه!

ماذا تفعل هذه الأداة

تقوم هذه الأداة بترميز النص إلى base64 أو فك ترميز base64 مرة أخرى إلى نص، مباشرة أثناء الكتابة، مع دعم كامل ليونيكود ونوع اختياري آمن للروابط.

كيف يعمل

يُحوَّل نصك أولاً إلى بايتات UTF-8 الخام. يجمع الترميز تلك البايتات 3 في كل مرة، ويُعيّن كل مجموعة من 3 بايتات (24 بت) إلى 4 أحرف base64 (6 بتات لكل منها) من الأبجدية القياسية المكونة من 64 حرفًا (A-Z، a-z، 0-9، +، /)، ويحشو المجموعة الأخيرة بأحرف = إذا لم يكن عدد البايتات من مضاعفات 3. يعكس فك الترميز هذا تمامًا: تُعاد أحرف base64 الأربعة إلى 6 بتات لكل منها، تُعاد تجميعها إلى 3 بايتات، ويُفسَّر تسلسل البايتات الناتج كنص UTF-8. يستبدل خيار الأمان للروابط ببساطة - بـ + و _ بـ / (ويحذف الحشو)، وهما الحرفان الوحيدان اللذان يستخدمهما base64 القياسي وغير آمنين للوضع مباشرة في رابط.

المشكلات التي تحلها

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

هل base64 تشفير؟

لا. base64 هو ترميز قابل للعكس، وليس تشفيرًا، فهو يحول بايتات عشوائية إلى تنسيق آمن للنصوص باستخدام أبجدية عامة قياسية، ويمكن لأي شخص فك ترميزه فورًا دون مفتاح أو كلمة مرور. إنه مخصص لنقل البيانات الثنائية بأمان عبر قنوات نصية فقط (مثل البريد الإلكتروني أو JSON)، وليس لإبقاء أي شيء سريًا.

لماذا ينتهي النص المرمز أحيانًا بأحرف = أو ==؟

يجمع base64 دائمًا الإدخال في مجموعات من 3 بايتات، منتجًا 4 أحرف إخراج لكل مجموعة. عندما لا يكون طول إدخالك من مضاعفات 3، تُحشى المجموعة الأخيرة بحرف أو حرفي = للحفاظ على تجميع الأحرف الأربعة متسقًا، وهو جزء قياسي من التنسيق وليس خطأً.

ماذا يغير base64 "الآمن للروابط"؟

يستخدم base64 القياسي حرفي + و /، وكلاهما له معنى خاص داخل الرابط ويحتاج إلى ترميز بالنسبة المئوية إذا استُخدم مباشرة هناك. يستبدلهما النوع الآمن للروابط بـ - و _ بدلاً من ذلك (ويسقط حشو =)، لذا يمكن وضع النتيجة مباشرة في مسار رابط أو سلسلة استعلام دون أي ترميز إضافي.

لماذا فشل فك الترميز مع ظهور خطأ؟

إما أن النص الذي لصقته لم يكن base64 صالحًا من الأساس، أو أنه فُكّ ترميزه إلى تسلسل بايتات ليس نص UTF-8 صالحًا (على سبيل المثال، إذا كان في الواقع يرمّز صورة أو ملفًا ثنائيًا آخر بدلاً من نص). هذه الأداة مخصصة للنصوص، لذا يُبلَّغ عن الإخراج الثنائي الذي لا يشكل UTF-8 صالحًا كخطأ بدلاً من عرض نص يبدو تالفًا.

هل يتعامل هذا بشكل صحيح مع الرموز التعبيرية والنصوص غير الإنجليزية؟

نعم. يُحوَّل النص إلى بايتات UTF-8 الأساسية الخاصة به قبل الترميز، ويُفكّ ترميزه بنفس الطريقة بشكل عكسي، لذا فإن الحروف المنقطة والأحرف التركية والرموز التعبيرية والنصوص الأخرى غير ASCII تُحفظ بشكل صحيح بدلاً من أن تتلف، وهي مشكلة شائعة في تطبيقات base64 القديمة التي كانت تتعامل فقط مع ASCII البسيط.

أدوات ذات صلة