الترميز 🔒 يعمل داخل متصفحك — لا تُرسل أي بيانات

مُرمِّز وفاكّ ترميز الروابط

رمّز الروابط وسلاسل الاستعلام والمعاملات بالنسبة المئوية وفكّ ترميزها، داخل متصفحك.

الإدخال
الإخراج

ترميز وفك ترميز الروابط — الترميز بالنسبة المئوية أونلاين

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

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

مخطط: ترميز «a b&c=é» حرفًا بحرف إلى «a%20b%26c%3D%C3%A9».الحرفبايتات UTF-8بعد الترميزa61a␣20%20b62b&26%26c63c=3D%3DéC3 A9%C3%A9تبقى كما هي: الحروف والأرقام و‎- _ . ~تُستبدل بـ ‎%XX
تمر الحروف دون تغيير. تتحول المسافة والحرفان المحجوزان & و= إلى ‎%20 و‎%26 و‎%3D، أما é فتتحول أولًا إلى بايتيها في UTF-8، أي C3 وA9، ويُكتب كل بايت بصيغة ‎%XX.

ما هو ترميز الروابط

ترميز الروابط، ويسمى أيضًا الترميز بالنسبة المئوية، يستبدل المحرف غير الآمن بعلامة نسبة مئوية متبوعة بقيمته الست عشرية. تصبح المسافة %20، والشرطة المائلة %2F، وعلامة الاستفهام %3F. أما المحارف خارج ASCII فتُحوَّل أولًا إلى بايتات UTF-8 ثم تُرمَّز بايتًا بايتًا، ولهذا يتحوّل الحرف العربي الواحد عادة إلى مجموعتين مئويتين، والرمز التعبيري إلى أربع.

encodeURIComponent أم encodeURI؟

الحالةالوضعالسبب
ترميز قيمة معامل واحدencodeURIComponentيهرّب & و= و? و/ و# حتى لا تخرج القيمة من حقلها
ترميز جزء من المسار مثل slugencodeURIComponentيمنع الشرطة المائلة داخل القيمة من إنشاء مستوى مسار جديد
تنظيف رابط كامل موجود لديكencodeURIيترك المحارف البنيوية سليمة فيبقى العنوان رابطًا صالحًا
تمرير رابط عودة داخل رابط آخرencodeURIComponentالرابط الداخلي قيمة وليس بنية

طريقة ترميز الرابط أو فكّه

  1. الصق النص أو قيمة المعامل أو الرابط الكامل في لوحة الإدخال.
  2. اختر encodeURIComponent لقيمة مفردة، أو encodeURI لعنوان كامل.
  3. اضغط ترميز للترميز، أو فك الترميز للعكس.
  4. انسخ الناتج مباشرة إلى شفرتك أو شريط عنوان المتصفح أو عميل الـ 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#

اللغةترميز قيمةملاحظات
JavaScriptencodeURIComponent(value)encodeURI لعنوان كامل
Pythonurllib.parse.quote(value, safe='')quote_plus يحوّل المسافات إلى +
PHPrawurlencode($value)urlencode يستخدم + للمسافات
JavaURLEncoder.encode(value, "UTF-8")ينتج + للمسافات؛ استبدله بـ %20 داخل المسار
C# / .NETUri.EscapeDataString(value)HttpUtility.UrlEncode يستخدم +
PowerShell[uri]::EscapeDataString($value)القواعد نفسها في .NET

أدوات ذات صلة

الروابط والحمولات تسافر معًا عادةً. فكّ البيانات الثنائية المضمّنة عبر مُرمِّز Base64، واقرأ الرمز داخل رابط الاستدعاء عبر فاكّ ترميز JWT، ونسّق استجابة الـ API عبر منسّق JSON، واختبر الأنماط عبر مختبِر التعابير النمطية.

أدلة ذات صلة