مُرمِّز وفاكّ ترميز الروابط
رمّز الروابط وسلاسل الاستعلام والمعاملات بالنسبة المئوية وفكّ ترميزها، داخل متصفحك.
ترميز وفك ترميز الروابط — الترميز بالنسبة المئوية أونلاين
لا يقبل الرابط سوى مجموعة محدودة من المحارف. وكل ما عداها — المسافات والحروف العربية وعلامة العطف والشرطة المائلة داخل قيمة والرموز التعبيرية والنصوص اليابانية — يجب ترميزه بالنسبة المئوية قبل أن يسافر بأمان داخل رابط أو سلسلة استعلام أو إرسال نموذج. هذه الأداة المجانية تنفّذ التحويل فورًا في الاتجاهين، دون إرسال أي شيء إلى خادم.
الصق نصك واضغط ترميز لتحصل على سلسلة جاهزة للنقل، أو الصق رابطًا مرمّزًا واضغط فك الترميز لقراءته بوضوح. ويتيح لك محدّد الوضع التنقّل بين encodeURIComponent وencodeURI، وهذا الاختيار تحديدًا هو ما يقرّر إن كان رابطك سيعمل أم سينكسر بصمت.
ما هو ترميز الروابط
ترميز الروابط، ويسمى أيضًا الترميز بالنسبة المئوية، يستبدل المحرف غير الآمن بعلامة نسبة مئوية متبوعة بقيمته الست عشرية. تصبح المسافة %20، والشرطة المائلة %2F، وعلامة الاستفهام %3F. أما المحارف خارج ASCII فتُحوَّل أولًا إلى بايتات UTF-8 ثم تُرمَّز بايتًا بايتًا، ولهذا يتحوّل الحرف العربي الواحد عادة إلى مجموعتين مئويتين، والرمز التعبيري إلى أربع.
encodeURIComponent أم encodeURI؟
| الحالة | الوضع | السبب |
|---|---|---|
| ترميز قيمة معامل واحد | encodeURIComponent | يهرّب & و= و? و/ و# حتى لا تخرج القيمة من حقلها |
| ترميز جزء من المسار مثل slug | encodeURIComponent | يمنع الشرطة المائلة داخل القيمة من إنشاء مستوى مسار جديد |
| تنظيف رابط كامل موجود لديك | encodeURI | يترك المحارف البنيوية سليمة فيبقى العنوان رابطًا صالحًا |
| تمرير رابط عودة داخل رابط آخر | encodeURIComponent | الرابط الداخلي قيمة وليس بنية |
طريقة ترميز الرابط أو فكّه
- الصق النص أو قيمة المعامل أو الرابط الكامل في لوحة الإدخال.
- اختر
encodeURIComponentلقيمة مفردة، أوencodeURIلعنوان كامل. - اضغط ترميز للترميز، أو فك الترميز للعكس.
- انسخ الناتج مباشرة إلى شفرتك أو شريط عنوان المتصفح أو عميل الـ API.
المحارف التي ستراها أكثر من غيرها
%20— المسافة. وفي إرسال النماذج القديم يؤدي+الدور نفسه.%2F— الشرطة المائلة، وتُرمَّز حين تكون جزءًا من القيمة لا من المسار.%3Fو%26— علامة الاستفهام وعلامة العطف، وهما فاصلا المعاملات.%3D— علامة المساواة التي تفصل اسم المعامل عن قيمته.%23— علامة المربع، وإلا فسّرت كبداية معرّف الجزء.%2B— علامة الزائد، ويجب ترميزها وإلا فقد تُقرأ كمسافة.
متى تحتاج إلى ترميز الروابط
- بناء روابط البحث والتصفية والترقيم حيث ينتهي إدخال المستخدم في سلسلة الاستعلام.
- تمرير عنوان العودة بوصفه
redirect_uriإلى مزوّد OAuth أو بوابة دفع. - إضافة معاملات حملات UTM التي تحتوي مسافات أو علامات ترقيم.
- فكّ رابط تتبّع طويل وصلك بالبريد لمعرفة وجهته الحقيقية.
- تنقيح استدعاء API يحمل معامله JSON أو طابعًا زمنيًا أو توقيعًا.
- التعامل مع الـ slug غير اللاتيني ليصمد عنوان عربي أو ياباني أو سيريلي أمام النسخ واللصق.
أخطاء تكسر الروابط
- الترميز المزدوج. إعادة ترميز سلسلة مرمّزة تحوّل
%20إلى%2520. فكّ الترميز أولًا ثم رمّز مرة واحدة. - ترميز الرابط كله بـ encodeURIComponent. يُهرَّب
://والشرطات المائلة فيتوقف العنوان عن كونه رابطًا. - الخلط بين + و%20. داخل سلسلة الاستعلام قد تعني علامة الزائد مسافة، أما داخل المسار فهي زائد حقيقي.
- نسيان UTF-8. الصفحات القديمة المرمّزة بـ ISO-8859-1 تنتج مجموعات لا يستطيع فاكّ ترميز حديث إعادتها.
- الوثوق بقيمة مفكوكة. فكّ الترميز ليس تعقيمًا: تحقّق من المدخلات قبل استخدامها في استعلام أو في HTML.
كل شيء يجري داخل متصفحك
تعتمد الأداة على دوال JavaScript الخاصة بمتصفحك، فلا رفع ولا تخزين ولا تسجيل. وهكذا تبقى الروابط الموقّعة ومعرّفات الجلسات والمعاملات التي تحمل بيانات عملاء حيث يجب أن تبقى: على جهازك.
ترميز الروابط في JavaScript وPython وPHP وJava وC#
| اللغة | ترميز قيمة | ملاحظات |
|---|---|---|
| JavaScript | encodeURIComponent(value) | encodeURI لعنوان كامل |
| Python | urllib.parse.quote(value, safe='') | quote_plus يحوّل المسافات إلى + |
| PHP | rawurlencode($value) | urlencode يستخدم + للمسافات |
| Java | URLEncoder.encode(value, "UTF-8") | ينتج + للمسافات؛ استبدله بـ %20 داخل المسار |
| C# / .NET | Uri.EscapeDataString(value) | HttpUtility.UrlEncode يستخدم + |
| PowerShell | [uri]::EscapeDataString($value) | القواعد نفسها في .NET |
أدوات ذات صلة
الروابط والحمولات تسافر معًا عادةً. فكّ البيانات الثنائية المضمّنة عبر مُرمِّز Base64، واقرأ الرمز داخل رابط الاستدعاء عبر فاكّ ترميز JWT، ونسّق استجابة الـ API عبر منسّق JSON، واختبر الأنماط عبر مختبِر التعابير النمطية.