محول مجاني

مشفر URL / فك التشفير

قم بترميز وفك ترميز عناوين URL ومكونات URI على الفور في متصفحك. مجاني وخاص ولا يتطلب رفع ملفات.

أو

حول هذه الأداة

يقوم ترميز URL (ترميز النسبة المئوية رسميًا، المحدد في RFC 3986) بترجمة الأحرف التي لها معنى خاص في عناوين URL - المسافات، والشرطات المائلة، وعلامات العطف، وعلامات التجزئة - إلى نموذج آمن باستخدام علامات النسبة المئوية متبوعة بأرقام سداسية عشرية. يصبح حرف المسافة %20 (أو + في السياقات المشفرة بالنموذج)، ويصبح علامة الضم %26، وهكذا. بدون هذا التشفير، سيتم تفسير الأحرف الخاصة على أنها بناء جملة لعنوان URL وليس كبيانات حرفية، مما يؤدي إلى كسر عنوان URL أو التسبب في سلوك غير مقصود.

يوجد ترميزان مرتبطان ولكن متميزان. يستخدم ترميز مكون URL القياسي %-escaps لكل شيء خارج مجموعة الأحرف غير المحفوظة: A-Z، a-z، 0-9، الواصلة، الشرطة السفلية، النقطة، التلدة. يتعامل المتغير المشفر بالنموذج (application/x-www-form-urlencoded) بالإضافة إلى ذلك مع المسافات كعلامات زائد ويستخدم قواعد مختلفة لبعض الأحرف الأخرى. يستخدم encodeURIComponent الخاص بجافا سكريبت ترميز المكونات الصارم؛ يستخدم encodeURI نموذجًا أكثر تساهلاً يحافظ على أحرف بنية URL.

توفر هذه الأداة كلا من التشفير وفك التشفير. يقوم وضع التشفير بتغليف كل حرف يتطلب الهروب بتنسيق %HH؛ وضع فك التشفير يعكس التحويل. يعمل كلاهما بالكامل في متصفحك باستخدام وظائف URL JavaScript المضمنة، لذلك لا يتم إرسال أي بيانات إلى أي مكان.

لماذا تشفير أو فك تشفير عناوين URL؟

يتم تضمين البيانات في أي وقت في عنوان URL - معلمات سلسلة الاستعلام، وأجزاء المسار التي تحتوي على مدخلات المستخدم، وأهداف إعادة التوجيه - مطلوب التشفير المناسب. يؤدي الفشل في التشفير إلى ظهور عناوين URL تنقطع عند ظهور أحرف خاصة، أو تسرب حدود المعلمات إلى سلاسل الاستعلام (تحويل &x=1 إلى معلمة منفصلة)، أو يتم حظرها بواسطة خوادم الويب كطلبات مشوهة.

فك التشفير هو العكس: استخراج البيانات الأصلية من عنوان URL المشفر. غالبًا ما تعرض أشرطة عناوين المتصفح عناوين URL في شكل مشفر؛ يكشف فك التشفير عما كان مقصودًا بالفعل. يستفيد كل من التسجيل وتصحيح الأخطاء والتحليل الأمني ​​من عناوين URL التي تم فك تشفيرها والتي تعرض المعلمات والمسارات الأصلية.

كيفية الاستخدام

لصق سلسلة، واختيار الاتجاه.

  1. اختر التشفير أو فك التشفير: يقوم التشفير بتغليف الأحرف غير الآمنة بتنسيق %HH. يؤدي فك التشفير إلى عكس هروب %HH مرة أخرى إلى الأحرف الحرفية.
  2. إضافة نص الإدخال: الصق السلسلة للتشفير أو فك التشفير. بالنسبة للتشفير، تكون هذه عادةً قيمة حرفية تحتوي على مسافات أو أحرف خاصة أو محتوى غير ASCII. لفك التشفير، هذا هو عنوان URL أو مكون URL يحتوي على %HH هروب.
  3. تحويل: تطبق الأداة encodeURIComponent أو decodeURIComponent. يعتبر الإخراج المشفر آمنًا للتضمين في عنوان URL؛ الإخراج الذي تم فك تشفيره هو القيمة الحرفية الأصلية.
  4. نسخ أو تنزيل: استخدم النتيجة أينما كنت في حاجة إليها. تتناسب القيم المشفرة مع عناوين URL؛ تكشف القيم التي تم فك تشفيرها عن البيانات الأصلية.

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

التفاصيل الفنية

يقوم encodeURIComponent بتشفير كل حرف خارج المجموعة غير المحجوزة [A-Za-z0-9-_.~]. تصبح المسافات %20، وعلامات الجمع تصبح %2B، وعلامات المساواة تصبح %3D، وهكذا. يتم ترميز الأحرف خارج ASCII أولاً بالترميز UTF-8 ثم يتم تخطي كل بايت %.

يعد encodeURI أكثر تساهلاً وهو مخصص لعناوين URL الكاملة بدلاً من المكونات. ولا يفلت من /، ?، &، =، #، وعدد قليل من الأحرف الأخرى لأن هذه الأحرف لها معنى بناء جملة URL. لتضمين بيانات المستخدم في عنوان URL، يكون encodeURIComponent هو الاختيار الصحيح دائمًا تقريبًا.

يقوم decodeURIComponent بعكس %-escaps، والتحقق من أن كل هروب تم تشكيله بشكل جيد وأن البايتات الناتجة تشكل UTF-8 صالحًا. يؤدي الإدخال غير الصحيح إلى حدوث خطأ بدلاً من إنتاج البيانات المهملة.

أفضل الممارسات

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

ما هي الأحرف التي تحتاج إلى ترميز URL؟
يجب ترميز الأحرف المحجوزة (&، =، ?، #، /، :، @) والأحرف غير الآمنة (المسافات، <، >، {، }، |، ^، ~، [، ]، `). الأحرف الأبجدية الرقمية و-_.~ آمنة ولا تحتاج إلى تشفير.
ما الفرق بين encodeURI وencodeURIComponent؟
يقوم encodeURI بتشفير عنوان URL الكامل ولكنه يحتفظ بالأحرف المحجوزة (://?#). يقوم encodeURIComponent بتشفير كل شيء باستثناء -_.!~*'() — استخدمه لقيم معلمات الاستعلام. توفر هذه الأداة كلا الوضعين.
كيف يتم ترميز المسافات في عناوين URL؟
يمكن ترميز المسافات كـ %20 (ترميز النسبة المئوية القياسي) أو + (ترميز النموذج). %20 صحيح لمسارات URL، بينما يُستخدم + في سلاسل الاستعلام من نماذج HTML. تستخدم هذه الأداة %20 بشكل افتراضي.
هل يمكنني تشفير أحرف Unicode؟
نعم. يتم ترميز أحرف Unicode أولاً إلى بايتات UTF-8، ثم يتم ترميز كل بايت بنسبة مئوية. على سبيل المثال، يصبح '日' %E6%97%A5 (ثلاثة بايتات UTF-8، مشفرة بنسبة مئوية لكل منها).
هل يجب أن أستخدم encodeURI أو encodeURIComponent؟
دائمًا ما يتم تشفير URIComponent. استخدم encodeURI فقط إذا كان لديك عنوان URL كاملًا وتريد الحفاظ على بنيته - وهو أمر نادر عادةً لأنك تقوم بإنشاء عناوين URL من المكونات على أي حال.
هل يتم تحميل بياناتي على الخادم؟
لا، يتم تشفير وفك تشفير عنوان URL بالكامل في متصفحك.
هل يتعامل مع Unicode emoji؟
نعم. الرموز التعبيرية عبارة عن تسلسلات UTF-8 متعددة البايت؛ ينتج برنامج التشفير سلسلة من %-escaped بايتات والتي تعيد وحدات فك التشفير تجميعها بشكل صحيح مرة أخرى إلى الرموز التعبيرية الأصلية.
ماذا لو كان مدخلي يحتوي على سلاسل ذات مظهر %HH ولم يتم تشفيرها فعليًا؟
يقوم التشفير بتحويل كل % إلى %25، ثم يُعاد تطبيق الهروب على الباقي. يؤدي فك تشفير المدخلات الصارمة إلى حدوث أخطاء عند عمليات الهروب المشوهة؛ قد يتم فك تشفير السلاسل ذات المظهر الغامض بشكل غير صحيح.