مرمّز ومفكك ترميز الروابط ومحطة Percent-Encoding — استوديو فك وتشفير الروابط
Developer Tools
جاري تحميل الأداة...
حول هذه الأداة
أداة احترافية فائقة السرعة لترميز وفك تشفير الروابط ومعلمات الاستعلام وفق معيار RFC 3986. معالجة فورية آمنة 100% داخل المتصفح بدون أي خوادم.
كيفية الاستخدام
- تحديد نمط العملية: اختر بين الترميز (Encode) لتحويل المحارف الحساسة أو فك الترميز (Decode) لقراءة النصوص والروابط المرمزة مسبقاً.
- ضبط نطاق الترميز: حدد مستوى المكونات (encodeURIComponent) لقيم ومعلمات الاستعلام الفردية، أو مستوى الرابط الكامل (encodeURI) للحفاظ على البروتوكول والمسار.
- إدخال النص أو الرابط: الصق أو اكتب البيانات مباشرة في مساحة العمل لتتم معالجتها لحظياً.
- معاينة ونسخ النتائج: تفقد إحصائيات البايتات والمحارف الناتجة ثم انسخ المخرجات بنقرة واحدة إلى الحافظة.
الأسئلة الشائعة
ما هو الفرق الجوهري والدقيق بين دالتي encodeURI() وencodeURIComponent()؟
صُممت دالة encodeURI() لمعالجة وتأمين الروابط الكاملة دون تخريب هيكلها البروتوكولي؛ فهي تحافظ على رموز المخططات الأساسية وفواصل المسارات ومحددات الاستعلام والتجزئة، مقتصرة على ترميز المسافات والأحرف غير اللاتينية فقط. في المقابل، تفترض دالة encodeURIComponent() أنها تتعامل مع قيمة منفصلة لمعلمة واحدة؛ لذا فإنها تقوم بترميز جميع الرموز الهيكلية بما فيها الشرطة المائلة وعلامة الاستفهام والمساواة، لمنع القيمة من العبث بالمسار الأصلي للرابط.
لماذا تظهر المسافة أحياناً بصيغة %20 وتظهر أحياناً أخرى بعلامة الجمع +؟
يرجع هذا الاختلاف إلى المعايير المتبعة؛ فوفقاً للمعيار العالمي العام للروابط RFC 3986، يجب تمثيل المسافة حصرياً بصيغة %20. أما علامة الجمع +، فهي تقليد موروث من مواصفات استمارات HTML القديمة (application/x-www-form-urlencoded). في هندسة واجهات البرمجة الحديثة، يُفضل استخدام %20 دائماً لتجنب أي التباس مع علامة الجمع الحسابية أو رموز الهواتف الدولية.
ما السبب وراء ظهور خطأ 'URI malformed' أثناء محاولة فك الترميز؟
يحدث استثناء 'URI malformed' عندما يصادف محرك فك الترميز تسلسلاً مئوياً غير صالح؛ مثل كتابة علامة النسبة المئوية متبوعة بأحرف غير ست عشرية (مثل %ZZ)، أو عندما يكون المحرف متعدد البايتات مبتوراً (كأن يتم إدخال بايت واحد فقط لمحرف عربي يتطلب بايتين لتكوينه). تم تزويد محطتنا بآليات رصد ذكية تتجاوز هذه الأخطاء بسلاسة.
هل يساهم ترميز الروابط في الحماية من هجمات حقن السكربتات (XSS)؟
نعم، يمثل ترميز الروابط خط دفاع جوهري؛ فعند تمرير مدخلات المستخدمين داخل خصائص الروابط في صفحات HTML، يؤدي الترميز المئوي لمحارف الاقتباس وعلامات الأقواس الزاوية إلى منع المهاجم من الخروج من سياق السمة وحقن نصوص برمجية ضارة. ومع ذلك، يجب دائماً تعزيزه بتعقيم كيانات HTML وتطبيق سياسات أمان المحتوى (CSP).
كيف تتعامل خوارزميات الترميز مع الأحرف العربية واللغات غير اللاتينية؟
يتم أولاً تحويل المحرف العربي إلى تسلسله الثنائي المكافئ بنظام UTF-8، وبما أن الأحرف العربية تتطلب بايتين في هذا النظام، فإن كل بايت يتحول على حدة إلى صيغة مئوية ست عشرية. على سبيل المثال، كلمة 'مرحبا' تتكون من 10 بايتات بنظام UTF-8 وتتحول بدقة إلى %D9%85%D8%B1%D8%AD%D8%A8%D8%A7.
هل هناك حد أقصى لطول الرابط المسموح به في شبكة الويب؟
لا تفرض مواصفات IETF حداً أقصى مطلقاً لطول الرابط، ولكن عملياً تفرض خوادم ومستعرضات الويب قيوداً تشغيلية. تضع خوادم مثل NGINX وApache حداً افتراضياً لترويسات الطلبات يتراوح بين 4 إلى 8 كيلوبايت. بينما تدعم المتصفحات الحديثة مثل Chrome روابط تتجاوز 32,000 محرف. في حال الحمولات الضخمة، يُوصى دائماً باستخدام طريقة النقل HTTP POST عبر جسم الطلب.
هل تحتفظ الأداة أو تسجل أي بيانات أو روابط أقوم بإدخالها؟
قطيعاً لا. تعمل المنصة وفق معمارية برمجية صارمة تعتمد بنسبة 100% على التنفيذ المحلي داخل متصفحك. لا يتم تخزين أو نقل أو فحص أي نصوص أو روابط أو معلمات عبر الإنترنت، وتتم جميع المعالجات بصورة فورية وآمنة داخل ذاكرة جهازك الشخصي مع انعدام تام لأي تأخير في الشبكة.
كيف يمكنني تجنب الوقوع في خطأ الترميز المزدوج (Double Encoding) في تطبيقي؟
لتفادي الترميز المزدوج، حدد حدوداً واضحة وموحدة لمعالجة البيانات داخل معمارية تطبيقك: يجب أن يتم ترميز المدخلات الخام مرة واحدة فقط عند اللحظة الأخيرة لإنشاء طلب الشبكة، مع تجنب تخزين النصوص المرمزة مسبقاً داخل قواعد البيانات الأساسية. إذا كنت تستقبل بيانات غير موثوقة، قم بفك ترميزها أولاً لتطبيعها ثم أعد ترميزها مرة واحدة بصورة منضبطة.
أدلة ودروس
أدلة شاملة لكل أداة. تعلم كيف تعالج بياناتك بخصوصية تامة، مجاناً، مباشرة في متصفحك.
اقرأ المزيد