KeroTools

ترميز وفك ترميز روابط URL

رمّز أو فكّ ترميز أي رابط URL ليعمل بشكل صحيح ضمن الاستعلامات والنماذج، فوراً.

الإدخال
0 حرف
الناتج

نصّك يبقى على جهازك

لا شيء يُحذف لاحقاً

آمن للروابط التي تحمل رموزاً

يعمل في كل متصفح حديث

كيف تعمل

  1. 1

    الصق نصّك أو رابطك

    قيمة معامل لترميزها، أو سلسلة مرمّزة بالنسبة المئوية لقراءتها.

  2. 2

    اختر وجهتها

    رابط كامل، أو مكوّن واحد يجلس داخل رابط — والقواعد تختلف.

  3. 3

    انسخ النتيجة

    خذها إلى رابط أو طلب أو هدف إعادة توجيه أو قيمة إعداد.

لماذا تستخدم هذه الأداة

وضعا المكوّن والرابط الكامل

رمّز قيمة معامل واحد أو عنواناً كاملاً — لكلٍّ قواعده، وخلطهما هو العطب المعتاد.

المسافة معالَجة صراحةً

اختر `%20` أو `+`، لأن سلسلة الاستعلام ومقطع المسار يختلفان في أيّهما يعني مسافة.

تفادي الترميز المزدوج

المدخل المرمَّز أصلاً يُتعرَّف عليه، فلا تصير `%20` بصمت `%2520`.

UTF-8 على الوجه الصحيح

الحروف العربية والتركية والمشكولة تصير تتابعات بايتات صحيحة بدل مخرجات مشوّهة.

لا شيء يُرفع

التحويل يجري في متصفحك — ورابط يحمل رمز جلسة لا يصل إلى خادم أبداً.

مجاني بلا حساب

بلا تسجيل، وبلا علامة مائية، وبلا حدّ لكمّ ما تحوّله.

لا يوجد «ترميز رابط» واحد — بل اثنان، وهما يختلفان

هذه هي الحقيقة التي تحلّ معظم اللبس حول هذه المهمة. فترميز رابط كامل وترميز قطعة تدخل داخل رابط عمليتان مختلفتان بقواعد مختلفة، واستعمال الخاطئة منهما هو الطريق الأشيع لانكسار رابط. فالعنوان الكامل يحتاج أن تُترك `/` و`?` و`&` و`#` و`:` وشأنها، لأنها علامات الترقيم التي تمنح العنوان شكله. أما القيمة المفردة — مصطلح بحث، أو هدف إعادة توجيه، أو اسم ملف في معامل — فتحتاج أن تُهرَّب تلك المحارف بالضبط، لأنها داخل قيمة بياناتٌ لا بنية. رمّز رابطاً كاملاً بقواعد المكوّن فتحصل على سلسلة غير صالحة من `%2F` و`%3A`. ورمّز مكوّناً بقواعد الرابط الكامل فتصير الشرطة المائلة في قيمتك بصمت فاصلَ مسار. قرّر أيّهما تفعل قبل أن تبدأ.

موضعك في العنوان هو ما يقرر ما الذي يحتاج تهريباً

يلي هذا مما سبق، ويستحق أن يُقال صراحةً لأنه يفسّر الحالات التي تبدو غير متسقة. فالشرطة المائلة داخل مسار فاصلٌ وعليها أن تبقى شرطة؛ والشرطة داخل قيمة معامل استعلام محرفٌ فحسب وتستطيع البقاء، وإن كان تهريبها أأمن. وعلامة الاستفهام في المسار تبدأ سلسلة الاستعلام؛ والمحرف نفسه داخل قيمة معامل يجب أن يكون `%3F` وإلا قُرئ كل ما بعده معاملات إضافية. وعلامة العطف داخل قيمة أحدّ الحالات: اتركها خاماً فتنشطر القيمة نصفين، فيصل بحث عن «R&D» معاملاً اسمه `D`. والقاعدة التي تُحمَل أن المحارف المحجوزة لا تكون محجوزة إلا حيث تستطيع أداء وظيفتها، وداخل قيمة لا تستطيع، وهذا بالضبط سبب وجوب تهريبها هناك.

علامة الزائد تعني شيئين مختلفين، وكلاهما صحيح

المسافة هي المحرف الذي يقابله الجميع أولاً وصاحب أفوض تاريخ. فالترميز بالنسبة المئوية يقول إن المسافة `%20`، وفي مقطع المسار هذا هو الجواب الصحيح الوحيد — إذ `+` الحرفية في مسار علامةُ زائد لا غير. لكن إرسال نماذج HTML عرّف ترميزه الخاص لسلاسل الاستعلام، وفيه المسافة `+` وعلامة الزائد الحرفية يجب أن تُكتب `%2B`. والعرفان حيّان، وكلاهما صحيح في سياقه، والفاكّات تعاملهما مختلفَين: فاكّ في وضع سلسلة الاستعلام يحوّل `+` إلى مسافة، وآخر في وضع المسار يتركها. ولهذا كثيراً ما تصل قيمة فيها زائد — رقم هاتف بالصيغة الدولية، أو بريد موسوم مثل ‎name+work@example.com‎ — وقد استُبدلت بالزائد مسافةٌ. فإن أمكن أن تحوي قيمتك زائداً حرفياً، فهرّبه `%2B` وكفّ عن الاعتماد على العرف الذي اختاره المستقبِل.

الترميز المزدوج هو العطب الذي ستصادفه فعلاً

لأن `%` تفتتح تتابع هروب، فعلامة النسبة نفسها عليها أن تُرمَّز، `%25`. وهذه القاعدة وحدها تصنع أشيع فشل في هذا الميدان كله. رمّز سلسلة مرتين فتصير `%20` هي `%2520`، لأن `%` في النتيجة الأولى تُهرَّب في التمريرة الثانية. والنتيجة تُفكّ مرة واحدة إلى `%20` — ظاهرة حرفياً في وسط قيمتك — بدل مسافة. وهذا يحدث باستمرار عملياً: يرمّز تطبيقٌ رابطاً، ثم يرمّزه ثانيةً إطار عمل أو معالج إعادة توجيه أو متتبّع روابط يفترض أنه استقبل نصاً خاماً. والعَرَض رابط يعمل في مكان ويُظهر `%2520` أو `%253A` في مكان آخر. فحين ترى `25` جالسة أمام تتابع هروب آخر، فأنت تنظر إلى ترميز مزدوج، والعلاج إزالة خطوة لا الفكّ مرتين.

المحارف خارج ASCII تُرمَّز بايتاتٍ لا محارف

ليس للترميز بالنسبة المئوية مفهوم عن الحروف. هو يهرّب بايتات، ما يعني أن أي محرف خارج ASCII عليه أن يصير بايتات أولاً، والمعيار لذلك UTF-8. ولهذا يصير حرف عربي واحد ثلاثة تتابعات هروب، ويصير رمز تعبيري أربعة — فأنت ترى بايتاته بـUTF-8 مكتوبة واحداً واحداً. والنتيجة الجديرة بالمعرفة أن مرمّزاً يستعمل مجموعة محارف أخرى ينتج مخرجات مختلفة للمدخل نفسه، وهكذا يعمل رابط فيه اسم على نظام ويعيد 404 على آخر. وثمة آلية ثانية يخلطها الناس بهذه: اسم النطاق خارج ASCII لا يُرمَّز بالنسبة المئوية إطلاقاً بل يُحوَّل إلى Punycode، وهو مخطط منفصل تماماً ينتج بادئات ‎xn--‎ التي تراها أحياناً. فالمسار والاستعلام يستعملان الترميز بالنسبة المئوية؛ والمضيف لا.

لماذا يهمّ الترميز المحلي في هذا النوع من النصّ

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

أخطاء شائعة يجب تجنّبها

  • ترميز رابط كامل بقواعد المكوّن. تصير `/` و`:` هي `%2F` و`%3A` ويكفّ العنوان عن كونه عنواناً — الروابط الكاملة والقيم داخلها تحتاج قواعد مختلفة.
  • ترك علامة عطف خاماً داخل قيمة معامل. تشطر القيمة نصفين، فيصل بحث عن «R&D» معاملاً إضافياً اسمه `D`؛ هرّبها `%26`.
  • افتراض أن `+` تعني مسافة دائماً. تعنيها في سلسلة استعلام ولا تعنيها في مسار، فالزائد الحرفيّ في رقم هاتف أو بريد موسوم ينبغي أن يُكتب `%2B` أيّاً كان السياق.
  • ترميز شيء مرمَّز أصلاً. تُهرَّب `%` إلى `%25`، فتصير `%20` هي `%2520` وتُفكّ نصّاً ظاهراً بدل مسافة — أزِل خطوة بدل الفكّ مرتين.
  • لصق رابط استدعاء راجع أو إعادة تعيين في مرمّز مستضاف. سلاسل الاستعلام تحمل رموز جلسات وتوقيعات أكثر بكثير مما ينتبه الناس؛ رمّز محلياً.

كيف تُقارن

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

المزايا

ترميز وفكّ

الاتجاهان في مكان واحد، والمدخل والمخرج جنباً إلى جنب.

رابط كامل مقابل مكوّن

الأول يحفظ `/` و`?` و`&`؛ والثاني يهرّبها، لأنها داخل قيمة بياناتٌ.

المسافة `%20` أو `+`

طابِق عرف السياق الذي تسافر القيمة عبره.

تتابعات بايتات UTF-8 صحيحة

المحارف خارج ASCII تُرمَّز بايتاً بايتاً كما يوجب المعيار.

يتحمّل المدخلات الطويلة

سلاسل استعلام كاملة وسلاسل إعادة توجيه طويلة تُحوَّل بلا سقف حجم.

المدخل المشوّه يُعلَّم

علامة `%` شاردة أو تتابع هروب ناقص يُبلَّغ عنه بدل أن يُسقَط بصمت.

بلا تثبيت

بلا وحدة تحكّم ولا بيئة تشغيل ولا اعتماديات — يعمل على صفحة الويب.

جاهز للعربية وRTL

واجهة كاملة بثماني لغات، منها العربية من اليمين إلى اليسار.

آمن افتراضياً

يُقدَّم عبر HTTPS، بلا تتبّع للمحتوى وبلا رفع إلى طرف ثالث.

من يستخدمها

المطوّرون

بناء معامل استعلام ينجو مما يفعله به النظام المستقبِل أيّاً كان.

مكاملو الواجهات البرمجية

ترميز هدف إعادة توجيه أو عنوان استدعاء راجع دون كسر الرابط الحاوي له.

المسوّقون

جعل معاملات الحملات آمنة حين تحوي القيمة مسافات أو علامات عطف أو نصّاً غير لاتيني.

مهندسو الدعم

قراءة رابط زوّده عميل لمعرفة ما تقوله معاملاته فعلاً.

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

لا. كل شيء يعمل محلياً في متصفحك — نصّك لا يُرفع أو يُخزَّن أو يُشارَك أبداً.

نعم — مجاني تماماً، بلا حساب وبلا حدود.