دليل مشفّر النصوص — Base64 وترميز URL | إتقان

افهم Base64 وترميز الروابط واستخداماتها العملية — دليل الترميز من إتقان ضمن دليل مشفّر النصوص — خطوات ونصائح عملية من إتقان.

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

نص مشوّه في الميدان

HTTP يقيّد الأحرف في الروابط؛ واجهات API والبريد يفرضون القيد نفسه على JSON وMIME. Base64 ينقل بايتات عشوائية عبر قنوات نصية؛ ترميز النسبة المئوية يحافظ على الأحرف المحجوزة داخل الروابط. السلاسل الغامضة نقل طبيعي — الإزعاج يظهر عند الفحص أو التصحيح أو إعادة البناء. مشفر إتقان يبقي الدورة في التبويب المفتوح دون رفع الحمولة.

إدخال واحد، أربع مرايا

افتح مشفر وفك ترميز النصوص. التخطيط مقصود: حقل إدخال متعدد الأسطر في الأعلى، وأربع بطاقات نتيجة أسفله. بمجرد ظهور أحرف في الإدخال، تتحدّث اللوحات الأربع — دون زر «تحويل» منفصل.

  1. ترميز Base64 — يحوّل النص العادي إلى أبجدية A–Z, a–z, 0–9, +, / (مع حشو = عند الحاجة). التنفيذ يستخدم btoa فوق UTF-8 عبر encodeURIComponent، فالعربية والرموز التعبيرية تنجو من الدورة كاملة.
  2. فك Base64 — يفترض أن الإدخال Base64 ويعرض النص المستعاد، أو رسالة خطأ إن كانت السلسلة غير صالحة.
  3. ترميز URL — وفق encodeURIComponent: الأحرف المحجوزة تصبح أزواج %XX؛ المسافة %20 (وليس + كما في بعض النماذج).
  4. فك URL — يعكس ترميز النسبة المئوية عندما يكون الإدخال جزءاً مُرمّزاً.

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

Base64 أم ترميز النسبة المئوية؟

الجانبBase64URL (percent-encoding)
الهدف المعتادتمثيل بايتات عشوائية كنص ASCII قابل للطباعةجعل قيمة الرابط أو الاستعلام آمنة لـ HTTP
شكل المخرجاتSGVsbG8=hello%20world
مصادر شائعةأجزاء JWT، data URIs، أجسام MIME، كتل إعدادquery strings، OAuth state، معاملات UTM
المسافةمُرمّزة ضمن بايتات UTF-8 داخل Base64%20 لكل مسافة في وضع ترميز URL هنا
علامة الأداة الخاطئةعلامات % حيث توقعت حروفاًكتل أبجدية رقمية طويلة تنتهي بـ =

إن لم تكن متأكداً، الصق مرة واقرأ اللوحات الأربع: نتيجة الفك التي تُظهر لغة مفهومة (أو JSON صالح) تدل على نوع الترميز. لتحويل الأنظمة العددية — ثنائي، سداسي عشر — استخدم محول الأنظمة العددية؛ فهو يحل مسألة مختلفة.

قابل للعكس لا يعني سرياً

Base64 وترميز URL تحويلات حتمية يعكسها أي شخص بسطر واحد في وحدة تحكم المتصفح. تغليف مفتاح API أو إخفاء كلمة مرور خلف علامات % يغيّر المظهر فقط. إتقان يعالج محلياً فتبقى الحمولة بعيداً عن خوادمنا، لكن النظر من فوق الكتف والإضافات المخترقة على حواسيب مشتركة مخاطر حقيقية. دوّر بيانات الاعتماد التي ظهرت في تذاكر أو لقطات شاشة؛ استخدم مديري أسرار وتشفيراً عند التخزين للسرية الفعلية.

سير عمل: جزء رأس JWT

رموز JWT ثلاثة أجزاء مفصولة بنقاط؛ الأولان JSON بـ Base64URL. انسخ الرأس (قبل النقطة الأولى). إن فشل الفك، استبدل -/_ بـ +//. اقرأ فك Base64 لـ JSON مثل {"alg":"HS256","typ":"JWT"}؛ استخدم تطبيق للتحرير. فحص فقط — التحقق من التوقيع يحتاج مفتاح المُصدر.

سير عمل: نص بحث عربي داخل رابط منسوخ

رابط حملة قد يعرض q=%D8%A7%D8%AA%D9%82%D8%A7%D9%86 بدل العربية. الصق المعامل، اقرأ فك URL، عدّل، انسخ من ترميز URL، أو تطبيق بعد الفك. الرموز المشوّهة غالباً تعني ترميزاً مزدوجاً — انظر أدناه.

سير عمل: علامات % متراكبة في إعادة توجيه

بوابات قديمة قد تُرمّز مرتين — %2520 بدل مسافة واحدة. الصق، اقرأ فك URL، تطبيق إن بقيت %، ثم أعد الترميز مرة من ترميز URL. Base64 متداخل يتبع حلقة تطبيق مماثلة.

سير عمل: رأس Basic auth من وثائق التكامل

الوثائق تعرض أحياناً Authorization: Basic dXNlcjpwYXNz — المقطع بعد Basic هو Base64 لـ username:password. الصقه، اقرأ فك Base64 لـ user:pass، أو اكتب myuser:mypassword وانسخ ترميز Base64. استخدم حسابات مؤقتة على أجهزة مشتركة.

سير عمل: مقتطف من data URI

لـ data:text/plain;base64,SGVsbG8=، الصق ما بعد الفاصلة وفكّ للحصول على Hello. حمولات الصور تُفك إلى بايتات غير مقروءة — الأداة لفحص مقتطفات نصية وليس ملفات ثنائية كاملة.

التسلسل عبر «تطبيق»

تطبيق على لوحة الفك يستبدل الإدخال ويحدّث اللوحات الأربع. سلسلة: callback مشوّه → تطبيق بعد فك URL → تصحيح → نسخ ترميز URL. تنبيه خطأ يعني إدخالاً غير صالح — جرّب لوحة أخرى أو صحّح حشو Base64.

سجل الإجراءات المتداول

آخر عشرة إجراءات (نسخ، تطبيق) مع طوابع زمنية في localStorage تحت encoderHistory. امسح السجل قبل تسليم حاسوب مشترك إن قد يحتوي أسماء عملاء أو رموزاً مفكوكة.

معالجة داخل المتصفح فقط

التحويلات الأربع بـ JavaScript داخل تبويبك — دون POST للإدخال. امسح الحقل والسجل على الأجهزة المشتركة؛ المعالجة المحلية لا تجعل حاسوباً غير موثوق آمناً لأسرار حية.

حدود صريحة

  • نص داخل، نص خارج — لا سحب وإفلات لملفات ثنائية كبيرة؛ الصق سلاسل قصيرة أو مقتطفات سجل معتدلة.
  • Base64 وURL فقط — لا ترميز كيانات HTML (&lt;، &amp;). تهريب العلامات لقوالب HTML سياق مختلف؛ %3C في URL لا يعادل < في مصدر HTML.
  • Base64 غير صالح يظهر خطأ في لوحة الفك — تحقق من حشو =، مسافات زائدة، أو أحرف خارج أبجدية Base64.
  • JWT Base64URL قد يحتاج استبدال أحرف قبل الفك، كما في سير عمل JWT.
  • نماذج application/x-www-form-urlencoded تستخدم أحياناً + للمسافات؛ ترميز URL هنا يستخدم %20. حوّل علامات الزائد يدوياً عند تصحيح منشورات نماذج قديمة.

أخطاء تبدو كأعطال

اعتبار Base64 خزنة

الماسحات والمتدربون يفكّونه بنفس سرعتك. دوّر أي سر خُزّن «بـ Base64 فقط».

استبدال تهريب URL بتهريب HTML

وضع %3Cscript%3E في سمة HTML لا يغني عن تهريب HTML الصحيح — والعكس صحيح. طابق طبقة الترميز مع الطبقة التي تُصلحها.

فك الرابط كاملاً بينما المُرمّز هو المعامل فقط

قد يكون المسار عادياً بينما قيمة الاستعلام مُرمّزة. فك قيمة المعامل، لا الرابط كاملاً مع المخطط والمضيف، إلا إن عُلم أن السلسلة كلها مُرمّزة كوحدة واحدة.

افتراض UTF-8 في كل مكان

فك URL هنا يستخدم decodeURIComponent بافتراض UTF-8. صفحات ISO-8859-1 القديمة قد تُنتج بايتات مفاجئة للعربية أو اللاتينية المشكّلة.

Base64 ملفوف من البريد

أسطر من تفاف MIME قد تكسر الفك. قصّ أو ادمج الأسطر قبل اللصق.

إجابات مختصرة

هل الكتابة تُحدّث اللوحات الأربع؟

نعم — كل ضغطة مفتاح تعيد حساب الترميز والفك. لا خطوة إرسال منفصلة.

لماذا يعمل الترميز والفك معاً على نص عادي؟

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

هل يدعم ترميز كيانات HTML؟

لا — Base64 وترميز URL بالنسبة المئوية فقط. استخدم أداة تهريب HTML واعية بالقالب عند عرض محتوى المستخدم في العلامات.

هل يعمل على الجوال؟

نعم — التخطيط متجاوب؛ السلاسل الطويلة تتمرر داخل كل بطاقة.

حساب أو دفع مطلوب؟

لا — افتح الصفحة والصق. السجل اختياري ومحلي.

ما الفرق عن محول الأنظمة العددية؟

محول الأنظمة العددية يغيّر تمثيل الأعداد بين الأنظمة (ثنائي، سداسي عشر، إلخ). هذه الأداة لترميزات نقل النص في الروابط وقنوات Base64.

أدوات تُكمّلها

سيناريوهات ترميز يومية دون خلط مع التشفير

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

حلقة شائعة: انسخ القيمة المعطوبة من شريط العنوان → فك ترميز الرابط → اقرأ العربية بوضوح → صحّح → أعد الترميز → الصق. في قوالب البريد HTML رمّز فقط الأجزاء التي تكسر الوسم. لا تلصق مفاتيح API حية على أجهزة عامة. إن احتجت قياس طول النص بعد الفك، افتح عداد الكلمات في تبويب ثانٍ.

قائمة تحقق سريعة قبل الإرسال

تأكد أنك فككت الطبقة الصحيحة (URL مقابل Base64)، وأن النتيجة النهائية ما زالت UTF-8 سليمة للعربية، وأنك لم تخلط مسافات زائدة بعد اللصق من البريد. احفظ نسخة من القيمة الأصلية قبل أي تعديل متتالٍ حتى تستطيع الرجوع خطوة.

طبقات الترميز المتداخلة وكيف تفكها بالترتيب

أحياناً تُرمَّز القيمة مرتين: مرة Base64 ثم تُمرَّر داخل معامل URL. في المرمّز/فك الترميز فك الطبقة الخارجية أولاً (الرابط)، ثم فك Base64 للناتج الداخلي. إن ظهرت رموز غريبة بعد الفك الأول فتوقف وراجع الترتيب بدل الضغط عشوائياً على فك متكرر. للنصوص التي ستُدرج في إعدادات JSON افتح محرر JSON للتحقق من صلاحية البنية بعد اللصق، وللعدّ النهائي لطول الرسالة الظاهرة للمستخدم استخدم عداد الكلمات على النص بعد الفك لا على السلسلة المرمّزة.

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

تشغيل الترميز دون خلطه بالتشفير

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

في قوالب الرسائل البريدية ذات الوسم، رمّز فقط المقاطع التي تكسر العرض واترك الفقرات المقروءة كما هي لسهولة المراجعة البشرية قبل الإرسال الجماعي.

في سياق الترميز وفك الترميز داخل منصة إتقان، راجع الناتج مرة أخيرة قبل الإرسال، وتأكد أن الخطوات التي اتبعتها موثّقة لفريقك، وأن الروابط الداخلية للأدوات ذات الصلة ما زالت تعمل كما توقعت، وأن النسخة النهائية خالية من بقايا تجربة أو نص مؤقت تركته أثناء الكتابة. أعِد فتح الأداة إن احتجت خطوة إضافية، ولا تعتمد على الذاكرة وحدها عندما يكون القرار مالياً أو نظامياً أو مرتبطاً بموعد تسليم واضح للعميل أو للجهة الطالبة.

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

العودة إلى المدونة