فك ترميز URL

قم بفك تشفير إدخال URL إلى صيغة النص الأصلية باستخدام أداة فك تشفير URL الخاصة بنا لاسترجاع البيانات بسهولة.

5 من 2 تقييمات
فك ترميز URL

فك ترميز URL أداة مجانية تحوّل النص المرمّز بالنسبة المئوية في عناوين URL إلى صيغته الأصلية.

ماذا يفعل فك ترميز URL؟

يعكس فك ترميز URL عملية الهروب المستخدمة لتمرير المسافات وعلامات الترقيم ووحدات البايت الأخرى عبر عناوين URL والصيغ المحددة الأخرى التي تستخدم الترميز بالنسبة المئوية. في هذا الترميز، يُمثَّل البايت بعلامة النسبة المئوية متبوعة برقمين سداسيي عشري. ويستخدم ترميز URL الخاص بالنماذج أيضا علامة + لتمثيل المسافة. على سبيل المثال، يمكن تمثيل المسافة بالقيمة %20 وعلامة العطف بالقيمة %26.

إليك مثالا بسيطا قبل فك الترميز وبعده:

الإدخال المرمّز: red%20%26%20blue

الناتج بعد فك الترميز: red & blue

هذا الترميز ضروري لأن بعض المحارف تؤدي وظائف بنيوية داخل عنوان URL. فعلامة الاستفهام تحدد بداية استعلام URL، بينما تفصل علامة العطف الحرفية عادة بين الحقول داخل بيانات الاستعلام بتنسيق النماذج. يتيح ترميز هذه المحارف للتطبيق نقلها بوصفها بيانات بدلا من تفسيرها كفواصل.

ترميز URL ليس تشفيرا ولا يوفر أي سرية. يستطيع كل من يقرأ القيمة المرمّزة فك ترميزها. لذلك لا تتعامل مع كلمات المرور أو رموز الوصول أو المعلومات الشخصية المرمّزة بالنسبة المئوية على أنها بيانات محمية.

رسم توضيحي: يمر النص عبر أداة فك ترميز URL في الاتجاهين

كيف أستخدم أداة فك ترميز URL؟

الصق النص المرمّز أو أدخله، ثم عالجه واقرأ القيمة المستعادة في حقل النتيجة URL بعد فك الترميز. تستخدم الأداة دالة urldecode في PHP، لذا تحوّل تسلسلات %HH الصالحة وتتعامل مع علامة الجمع بوصفها مسافة.

  1. انسخ المكوّن المرمّز، مثل قيمة إحدى معاملات الاستعلام.
  2. أدخل القيمة المرمّزة بتنسيق URL من دون إضافة علامات اقتباس، إلا إذا كانت هذه العلامات جزءا فعليا من القيمة.
  3. عالج إدخال URL ثم افحص النتيجة في حقل URL بعد فك الترميز.
  4. إذا ظل الناتج يحتوي على تسلسلات مثل %2F أو %20، فتحقق مما إذا كان المصدر قد رُمّز أكثر من مرة قبل فك ترميزه مجددا.
أداة فك ترميز URL على digily.link مع نموذج الإدخال

تُنفّذ العملية على الخادم. ينتقل إدخالك إلى الخادم عبر HTTPS ولا يُخزّن، لكنه يغادر جهازك أثناء المعالجة. تجنّب لصق المعلومات السرية في أداة فك ترميز URL ما لم تكن معالجة هذه البيانات على الخادم مناسبة.

أين يُستخدم ترميز URL؟

ستصادف ترميز URL غالبا في سلاسل الاستعلام وعمليات إرسال النماذج والقيم المضمّنة في الروابط. ويظهر أيضا في مواضع أقل وضوحا، عندما يلزم تمرير البيانات عبر تنسيق نصي مقيّد.

  • سلاسل الاستعلام: قد يظهر البحث عن "tea & cake" بالصيغة q=tea+%26+cake.
  • معرّفات URI للبيانات: يمكن ترميز البيانات النصية بالنسبة المئوية بعد نوع الوسائط، مع أن Base64 تمثيل شائع آخر.
  • روابط البريد الإلكتروني: قد يرمّز رابط mailto المسافات وفواصل الأسطر وعلامات الترقيم في معاملات الموضوع أو نص الرسالة. أما ترميزات نقل MIME المستخدمة داخل رسالة البريد الإلكتروني فهي تنسيقات منفصلة.
  • حُمولات JSON: يستخدم JSON قواعد الهروب الخاصة به، لكن قد تحتوي سلسلة JSON على عنوان URL أو قيمة استعلام مرمّزة مسبقا، ويلزم فك ترميزها بصورة منفصلة.
  • النطاقات المدوّلة: تستخدم تسميات النطاق التي تحتوي على محارف غير ASCII عادة Punycode بدلا من الترميز بالنسبة المئوية. ومع ذلك، قد تحتوي مكوّنات المسار والاستعلام على وحدات بايت UTF-8 مرمّزة بالنسبة المئوية.

إذا كان النص المرمّز تسمية نطاق تبدأ بالقيمة xn--، فاستخدم محول IDN Punycode. أداة فك ترميز URL مخصصة لمكوّنات URL المرمّزة بالنسبة المئوية، وليست لتحويل Punycode.

مثال على نتيجة أنتجتها أداة فك ترميز URL

أمثلة عملية على فك ترميز URL

توضح أمثلة فك ترميز URL التالية بعض الإدخالات الشائعة والنص الناتج بعد فك ترميزها.

  • تتحول hello%20world إلى hello world.
  • تتحول name=Tom+Jones إلى name=Tom Jones.
  • تتحول fish%26chips إلى fish&chips.
  • تتحول %C2%A3 إلى £ عندما تمثّل وحدات البايت نصا بترميز UTF-8.
  • تتحول %E6%9D%B1%E4%BA%AC إلى 東京 عند تفسيرها بترميز UTF-8.
  • تتحول 100%25 إلى 100%.

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

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

لماذا يفشل فك ترميز URL أو ينتج نصا غير مفهوم؟

قد يعطي فك ترميز URL ناتجا لم يتغير أو ناتجا غير متوقع إذا احتوى الإدخال على تسلسلات مئوية ناقصة، أو كان قد رُمّز أكثر من مرة، أو فُسّر باستخدام مجموعة محارف غير صحيحة، أو لم يكن أصلا بيانات مرمّزة بتنسيق URL. تترك دالة urldecode في PHP التسلسلات المئوية غير الصالحة من دون تغيير، بينما ينتج عن الإدخال المرمّز مرتين ناتج وسيط بعد عملية فك واحدة. افحص المصدر الأصلي قبل تكرار فك الترميز.

  • إدخال مرمّز مرتين: تتحول %2520 بعد فك الترميز مرة واحدة إلى %20، ولا تصبح مسافة إلا بعد عملية فك ثانية. لا تفك الترميز مجددا إلا إذا كنت تعرف أن هناك طبقة ترميز أخرى.
  • تسلسل مئوي ناقص: يحتاج كل بايت مرمّز إلى رقمين سداسيي عشري. تكون علامة % في نهاية القيمة أو قيمة مثل %2 غير صالحة، ولا يمكن أن تمثّل بايتا مرمّزا كاملا، لذلك تتركها دالة urldecode في PHP من دون تغيير.
  • ترميز محارف غير صحيح: يعيد فك الترميز بالنسبة المئوية وحدات البايت. على سبيل المثال، قد يؤدي تفسير وحدات بايت ISO-8859-1 على أنها UTF-8 إلى نص غير مفهوم رغم أن التسلسلات المئوية كانت صالحة.
  • بيانات ثنائية وليست نصية: قد تمثّل وحدات البايت بعد فك الترميز صورة أو ملفا مضغوطا أو محتوى ثنائيا آخر. لا يُتوقع أن يظهر هذا الناتج كنص مقروء.
  • عائلة ترميز غير صحيحة: إذا مُررت النتيجة بعد فك ترميز URL إلى أداة فك ترميز Base64، فقد يفشل فكها بسبب استخدام أبجدية Base64 القياسية بدلا من الأبجدية الآمنة لعناوين URL أو العكس، أو بسبب غياب حشو =، أو تلف الإدخال. لا يحتوي ترميز URL بالنسبة المئوية على حشو ولا يستخدم أبجدية Base64، كما أن فك ترميز URL لا يتحقق من مشكلات Base64 هذه ولا يصلحها.

انتبه إلى علامات الجمع الحرفية. في ترميز URL الخاص بالنماذج، تعني + مسافة. أما علامة الجمع الفعلية، فينبغي عادة ترميزها بالقيمة %2B قبل فك الترميز.

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

هل أفك ترميز عنوان URL كاملا أم جزءا منه فقط؟

فك ترميز مقطع المسار أو قيمة معامل الاستعلام كل على حدة متى أمكن. فقد يؤدي فك ترميز عنوان URL بالكامل إلى تحويل المحارف المحجوزة المرمّزة، مثل %26 أو %3F أو %2F، إلى فواصل وتغيير طريقة تحليل عنوان URL.

هل يدعم فك ترميز URL الرموز السداسية العشرية المكتوبة بأحرف صغيرة؟

نعم. لا تتأثر الأرقام السداسية العشرية في التسلسلات المئوية بحالة الأحرف، لذا تمثّل %2f و%2F وحدة البايت نفسها. كما أن التسلسلات التي تجمع بين الأحرف الكبيرة والصغيرة صالحة.

هل تفك الأداة ترميز القيمة نفسها عدة مرات؟

لا. ينفّذ كل استدعاء للدالة urldecode عملية فك ترميز واحدة. إذا تحولت %252F إلى %2F، فستحتاج إلى عملية أخرى لإنتاج شرطة مائلة، لكن تكرار فك الترميز قد يغيّر بيانات كان المقصود منها أن تحتوي على تسلسل مئوي حرفي.

هل يمكن لفك ترميز URL استعادة نص تالف؟

لا. يمكنه عكس الترميز المئوي الصالح، لكنه لا يستطيع إعادة تكوين الأرقام السداسية العشرية المفقودة أو تحديد ترميز المحارف الأصلي بشكل مؤكد. راجع النظام المصدر أو ترويسات HTTP أو الوثائق إذا لم تظهر وحدات البايت بعد فك الترميز بصورة صحيحة.

ماذا أفعل بقيمة تبدأ بـ xn--؟

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

أدوات مشابهة

مشفّر URL

قم بترميز أي سلسلة إلى تنسيق URL باستخدام أداة ترميز URL الخاصة بنا للحصول على عناوين ويب آمنة ومأمونة.

4،833
40

الأدوات الشائعة