كيفية الاستخدام
- اختر التشفير أو فك الترميز.
- اختر «المكوّن» لقيمة واحدة (مثل مَعلمة استعلام واحدة)، أو «عنوان URL كامل» لعنوان كامل.
- اكتب النص أو الصقه. تظهر النتيجة فورًا على اليمين (أو أسفل الصفحة على الهواتف).
- انسخ النتيجة، أو استخدم «استخدام الناتج كمدخل» لعكس العملية والتحقق من إمكانية استعادة النص الأصلي.
كيف تعمل الأداة
لا يمكن أن تتضمن عناوين URL إلا مجموعة محدودة من أحرف ASCII. أما الأحرف الأخرى، بما فيها المسافات والحروف المشكولة والرموز التعبيرية، فتُكتب بترميز النسبة المئوية: يُحوَّل الحرف إلى بايتات UTF-8، ثم يُستبدل كل بايت بالرمز % متبوعًا برقمين سداسيي عشر. تتحول المسافة إلى %20، والحرف é إلى %C3%A9، والرمز € إلى %E2%82%AC.
يستخدم وضع المكوّن الدالتين encodeURIComponent وdecodeURIComponent في JavaScript. ويشفّر كل حرف له معنى خاص في URL، بما في ذلك / ? # & = + : و@، لذا يمكن إدراج الناتج بأمان ضمن قيمة استعلام أو مقطع مسار واحد. ولا يغيّر الأحرف A–Z وa–z و0–9 والرموز - _ . ! ~ * ' ( ).
يستخدم وضع عنوان URL الكامل الدالتين encodeURI وdecodeURI. ويفترض أن الإدخال عنوان URL كامل، لذا يُبقي الأحرف المحجوزة ; , / ? : @ & = + $ # دون تغيير حتى يظل العنوان صالحًا. وعند فك الترميز، يُبقي decodeURI أيضًا ترميزات هذه الأحرف المحجوزة كما هي: فمثلًا، يظل %2F على حاله، لأن تحويله إلى / سيغيّر معنى URL.
يتبع خيار بيانات النماذج تنسيق application/x-www-form-urlencoded الذي تستخدمه المتصفحات عند إرسال نماذج HTML: تُكتب المسافة على شكل + بدلًا من %20. وعند فك الترميز بهذا الخيار، تتحول كل علامة + إلى مسافة؛ لذا يجب كتابة علامة الجمع الفعلية على شكل %2B.
لا تُحذف المدخلات غير الصالحة مطلقًا. فإذا لم يتبع % رقمان سداسيان عشريان، أو لم تُشكّل سلسلة الترميزات UTF-8 صالحًا، ستُظهر الأداة موضع المشكلة وتُبقي النص كما هو لتتمكن من تصحيحه.
أمثلة
إضافة قيمة إلى سلسلة الاستعلام
للبحث عن “Rock & Roll” على https://example.com/search?q=…، شفّر القيمة وحدها باستخدام وضع المكوّن: Rock%20%26%20Roll. من دون الترميز، ستُنهي & المَعلمة q وتبدأ مَعلمة جديدة اسمها “ Roll”.
تصحيح عنوان URL يتضمن مسافات وحروفًا مشكولة
في وضع عنوان URL الكامل، يتحول https://example.com/menu/crème brûlée.html إلى https://example.com/menu/cr%C3%A8me%20br%C3%BBl%C3%A9e.html. وتبقى الشرطتان المائلتان والنقطتان كما هما، لذا يظل الرابط صالحًا.
قراءة بيانات نموذج مسجّلة
يُظهر سجل الخادم name=Jane+Doe&city=S%C3%A3o+Paulo. فك ترميزه في وضع المكوّن مع تفعيل خيار “اعتبار + مسافة” لقراءة name=Jane Doe&city=São Paulo.
الأسئلة الشائعة
ما الفرق بين encodeURI وencodeURIComponent؟
تشفّر encodeURIComponent الأحرف التي تفصل أجزاء URL (/ ? # & = + : @ وغيرها)، لذا فهي مخصّصة لجزء واحد من URL. أما encodeURI فتُبقي هذه الأحرف، لذا فهي مخصّصة لعنوان URL كامل. واستخدام encodeURI لقيمة استعلام خطأ شائع: فلن تُشفّر & أو = داخل القيمة، ما يؤدي إلى إفساد سلسلة الاستعلام.
هل تُكتب المسافة على شكل %20 أم +؟
تُكتب المسافة في مسار URL دائمًا على شكل %20. أما في سلسلة الاستعلام، فيظهر الشكلان: %20 صالح في كل الحالات، بينما تعني + مسافة فقط في البيانات المشفّرة بتنسيق application/x-www-form-urlencoded، وهو التنسيق الذي تستخدمه نماذج HTML وأُطر عمل الخوادم الكثيرة لقراءة سلاسل الاستعلام. إذا لم تكن متأكدًا، فاستخدم %20.
لماذا يظهر خطأ عند فك الترميز؟
يفشل فك الترميز إذا لم يتبع علامة % رقمان سداسيان عشريان (مثل “50% off”)، أو إذا لم تكن البايتات المشفّرة صالحة وفق UTF-8، وهو ما يعني غالبًا أن النص شُفّر باستخدام ترميز أحرف أقدم مثل Latin-1 (الحرف é على شكل %E9 بدلًا من %C3%A9). وتُظهر رسالة الخطأ موضع المشكلة.
لماذا لم يتحول %2F إلى شرطة مائلة في وضع عنوان URL الكامل؟
يُبقي decodeURI عمدًا ترميزات الأحرف المحجوزة مثل / ? # & و=، لأن فك ترميزها قد يغيّر طريقة تقسيم URL إلى أجزاء. استخدم وضع المكوّن لفك ترميز جميع التسلسلات.
ما الأحرف التي لا تُشفّر مطلقًا؟
يُبقي كلا الوضعين الأحرف A–Z وa–z و0–9 والرموز - _ . ! ~ * ' ( ) دون تغيير. كما يُبقي وضع عنوان URL الكامل الأحرف ; , / ? : @ & = + $ و# دون تغيير.
الخصوصية
تُجرى عمليات الترميز وفك الترميز بالكامل في متصفحك باستخدام دوال JavaScript المضمّنة. لا تُرفع نصوصك وروابطك ولا تُخزّن أو تُدرج في بيانات التحليلات.