FreeToGenerate.com

مجاني 100% · بلا تسجيل · لا شيء يغادر متصفحك

اكتب أو الصق شيئاً لترى النتيجة هنا.

كل شيء يجري داخل متصفحك، لا يُرسل شيء إلى أي خادم، ولا يُحفظ شيء.

متوفر أيضًا بلغات أخرى: English · Español · Português · Français

مشفّر وفكّاك base64 مجاني على الإنترنت

رمّز نصوصك أو فكّ ترميز base64 مباشرة في المتصفح، بأبجدية قياسية أو آمنة للروابط، ودعم كامل للعربية وUTF-8.

ما هو مرمّز وفاكّ ترميز base64؟

هذه أداة تحوّل أي نص تكتبه أو تلصقه إلى base64، أو تعيد base64 ملصوقاً إلى النص الأصلي، وكل ذلك يجري في المتصفح دون أي اتصال بخادم.

وbase64 نفسه مجرد طريقة لتمثيل بايتات بحروف مطبوعة يفهمها أي نظام نصي: يأخذ سلسلة بايتات ويحوّلها إلى مجموعة محدودة من الحروف والأرقام والرمزين + و/، لتنتقل تلك البايتات سالمة عبر قنوات لا تتحمل إلا النص — رسالة بريد، حقل JSON، رابط. والأداة توفر الوضعين معاً، مع الأبجدية القياسية أو الآمنة للروابط، وخيار قطع الأسطر لمن يحتاجه.

كيف تستعملها

  1. اختر الوضع والأبجدية. اضغط ترميز أو فك الترميز، واختر الأبجدية القياسية أو الآمنة للروابط، وفي وضع الترميز يمكنك تفعيل قطع الأسطر كل 76 حرفاً إن كنت ستستعمل الناتج في بريد إلكتروني بصيغة MIME، فمن هناك جاء هذا العرف أصلاً.
  2. الصق نصك أو base64. اكتب أو الصق في حقل الإدخال، وستظهر النتيجة فوراً في حقل الإخراج أثناء الكتابة، بلا أي زر تشغيل.
  3. انسخ النتيجة. اضغط زر نسخ فيتحول إلى «تم النسخ!» لثانيتين، وتابع القراءة تحت الحقل لعدّ الأحرف والبايتات إن أردت التأكد من طول ما نسخته.

لماذا سطر btoa() الواحد الذي ينسخه الجميع خاطئ

كثيرون يلجأون إلى btoa() المدمجة في المتصفح لأن الأمر يبدو بسيطاً: سطر واحد، بلا مكتبة. المشكلة أن btoa() تفترض أن كل حرف في النص بايت واحد، وهذا صحيح فقط لأحرف ASCII الخالصة. أي شيء آخر يفشل، لكنه يفشل بطريقتين مختلفتين تماماً بحسب الحرف الذي كتبته.

مع حرف من نطاق Latin-1 مثل é تفشل btoa() بصمت، وهذا أسوأ سيناريو ممكن. btoa("café") تعيد Y2Fm6Q==، بينما الجواب الصحيح بترميز UTF-8 هو Y2Fmw6k=. الفرق أن btoa() رمّزت é كبايت واحد e9 بدل البايتين c3 a9 اللذين يتطلبهما UTF-8 فعلياً. مرّر Y2Fm6Q== إلى أي فاكّ ترميز يتوقع UTF-8 فتحصل على caf يتبعها حرف استبدال غريب، ولا خطأ يُرفع في أي مرحلة من العملية — تكتشف الخلل فقط حين يلاحظ أحدهم أن الاسم صار مشوَّهاً في الواجهة.

أما مع أي حرف فوق U+00FF فترمي btoa() استثناءً صريحاً: btoa("👍") وbtoa("€") وbtoa("日本語") كلها تطلق InvalidCharacterError. وهذا يعني لأي مطوّر عربي شيئاً محدداً: كل حرف عربي يقع فوق U+00FF، فأي نص عربي تمرّره على هذا السطر يتوقف فوراً بخطأ في الكونسول — وهي في الحقيقة نتيجة أرحم من الفساد الصامت الذي يصيب اللاتينية المشكولة، لأنك على الأقل تعرف أن هناك مشكلة.

هذه الأداة تفعلها بالطريقة الصحيحة: تحوّل النص أولاً إلى بايتات UTF-8 ثم ترمّز تلك البايتات، فيعود كل شيء كما كتبته تماماً. جرّبها: café (5 بايتات) تصبح Y2Fmw6k=، و👍 (4 بايتات) تصبح 8J+RjQ==، و日本語 (9 بايتات) تصبح 5pel5pys6Kqe، ومرحبا (10 بايتات) تصبح 2YXYsdit2KjYpw==. لاحظ الرقم الأخير: خمسة أحرف عربية تساوي عشرة بايتات، لأن كل حرف عربي يشغل بايتين في UTF-8 — ولهذا يعرض سطر العدّ تحت النتيجة عدد الأحرف وعدد البايتات معاً، فـ«café» أربعة أحرف لكنها خمسة بايتات، و«👍» حرف واحد بأربعة بايتات بينما .length في جافاسكربت نفسها تقول 2.

وحتى حين لا توجد مشكلة ترميز، لا مفر من انتفاخ في الحجم: base64 يحوّل كل 3 بايتات إلى 4 أحرف، أي تمدّد مقداره 4/3 بالضبط، نحو 33% زيادة، مقرَّباً إلى أقرب مضاعف للأربعة بحشو =. فـ100 بايت تصبح 136 حرفاً، و3000 بايت تصبح 4000 حرف بالضبط. وإذا كانت الوجهة رابطاً أو JWT فاختر الأبجدية الآمنة للروابط، التي تستبدل + بـ - و/ بـ _ وتحذف عادة حشو =: البايتات الثلاثة نفسها تعطي +/++ في base64 القياسية و-_-- في الصيغة الآمنة للروابط.

حدود صادقة

هذه أداة نصوص لا أداة ملفات: فك ترميز base64 يمرّر البايتات الناتجة على فاكّ ترميز UTF-8 صارم، فإذا لصقت base64 خاصاً بصورة PNG أو ملف zip ستخبرك الأداة أن هذه البايتات ليست نصاً صالحاً بدل أن تعرض لك محتوى الملف. حوّل الملفات بأداة مخصصة لها.

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

ولا شيء يُرفع، وهذا بالضبط سبب تفضيل أداة تعمل في المتصفح على أي مرمِّز يعمل على خادم عند التعامل مع أي شيء حساس: لصق token أو بيانات عميل في موقع يرسلها إلى خادمه يعني أنك سلّمتها لطرف آخر. هنا لا يغادر ما تكتبه جهازك، وما تلصقه يضيع عند إعادة تحميل الصفحة لأن لا شيء يُحفظ.

لماذا هذه الأداة مجانية

التحويل كله يجري بجافاسكربت في متصفحك، فلا خادم يعالج نصك ولا فاتورة استضافة ترتفع كلما استعملها أحد أكثر. هذا وحده يكفي لتبقى الأداة مجانية بلا حدود استعمال ولا حساب. وهدف FreeToGenerate.com أن تبقى كل أداة بهذا الشكل: تفتح الصفحة، تنجز عملك، تغلقها، ولا يتبعك شيء بعد ذلك.