كيف يعمل ترميز URL
لا يُسمح في عناوين الويب إلا بعدد قليل من الرموز: الحروف اللاتينية والأرقام وبعض علامات الترقيم. كل ما عدا ذلك يُرمَّز. الحرف م في UTF-8 يتكوّن من البايتين D9 و85، فيصبح %D9%85. والمسافة تصبح %20، أو + في النماذج.
مرمَّز
%D8%A7%D9%84%D9%82%D8%A7%D9%87%D8%B1%D8%A9 %D9%88%D8%A7%D9%84%D8%A5%D8%B3%D9%83%D9%86%D8%AF%D8%B1%D9%8A%D8%A9
بعد الفك
القاهرة والإسكندرية
أشهر رموز URL
%D8%A7= ا،%D9%84= ل،%D9%85= م،%D8%B9= ع%D8%A9= ة،%D9%8A= ي،%D9%83= ك،%D8%B4= ش%E2%82%AC= €،%E2%80%99= ’،%E2%80%93= –%20= مسافة،%2F= /،%3F= ?،%26= &،%25= %
تبدأ الحروف العربية في الغالب بـ %D8 أو %D9، وكل حرف يحتاج إلى رمزين (بايتين). فإذا رأيت نصًا مليئًا بهذه البدايات فهو عربي مرمَّز. وتقوم الأنظمة القديمة أحيانًا بترميز كل حرف ببايت واحد من Windows-1256: %D3%E1%C7%E3 بدل %D8%B3%D9%84%D8%A7%D9%85. يتعرّف Mojibuster على هذا أيضًا ويحوّله إلى سلام.
من أين يأتي النص المرمَّز
- الروابط المنسوخة: يعرض المتصفح عنوان ويكيبيديا بالعربية مقروءًا، لكن عند النسخ يُحفظ غالبًا
%D9%85%D8%B5%D8%B1في الحافظة. - النماذج والتتبّع: تُسجَّل كلمات البحث ووسوم UTM مرمَّزة في سجلات الخادم وتقارير التحليلات، مثل
?q=%D9%82%D9%87%D9%88%D8%A9. - التصدير وواجهات API: بعض أدوات النشرات البريدية وخطافات الويب تحفظ القيم مرمَّزة، فتجد في ملف CSV رموزًا بدل الأسماء.
- أسماء الملفات: يُنزَّل ملف باسم
%D9%81%D8%A7%D8%AA%D9%88%D8%B1%D8%A9.pdfحين لا يفك الخادم ترميز الاسم.
رموز URL وحروف مشوّهة في آن واحد
أحيانًا يكون النص تالفًا مرتين: %D8%B7%C2%A7%D8%B8%E2%80%9E هو الشكل المرمَّز لـ ط§ظ„، أي الحرفين ال اللذين قُرئا خطأ بترميز Windows-1256 ثم رُمِّزا. يفك Mojibuster الرموز أولًا ثم يصلح التشويه، وفي النهاية يظهر ال. التفاصيل في تحويل Windows-1256 إلى UTF-8.
خيار تحويل الرموز أيضًا مفعّل مسبقًا في هذه الصفحة. وهو يحوّل كذلك رموز HTML (م) ورموز البريد (=D9=85) ورموز الشيفرة البرمجية (\u0645). وللأخطاء الأخرى في الحروف: ما هي الرموز الغريبة.
فك الترميز بنفسك في Excel وJavaScript وPython وPHP
- Excel: فيه دالة للترميز فقط (
ENCODEURLفي النسخة الإنجليزية) ولا توجد دالة للفك. الأسهل أن تنسخ العمود وتلصقه هنا ثم تنسخ النتيجة وتعيدها. انظر أيضًا رموز غريبة في Excel. - JavaScript:
decodeURIComponent("%D9%85%D8%B5%D8%B1")يعطيمصر. - Python:
urllib.parse.unquote("%D9%85%D8%B5%D8%B1")، أوunquote_plusلبيانات النماذج التي تستخدم+للمسافة. - PHP: الدالة
rawurldecode()، أوurldecode()لبيانات النماذج.
أسئلة شائعة
ماذا يعني %D9%85؟
هو الحرف م في ترميز URL: البايتان D9 و85 في UTF-8، وأمام كل منهما علامة %. وبالطريقة نفسها %D8%A7 هو ا و%D9%84 هو ل.
ماذا يعني %20؟
المسافة. وفي بيانات النماذج يُستخدم + غالبًا بدلًا منها. يترك Mojibuster علامة + كما هي، لأنها قد تكون علامة جمع حقيقية في النص العادي.
هل تُرفع روابطي إلى خادم؟
لا. يتم التحويل بالكامل داخل المتصفح. الروابط التي تحوي رموز دخول أو عناوين بريد أو بيانات شخصية لا تغادر جهازك أبدًا.
لماذا لا يتغير 100%؟
يحوّل Mojibuster فقط التسلسلات التي تعطي حرفًا خاصًا حقيقيًا. أما 100% أو 50 % أو %20 وحدها في نص عادي فتبقى كما هي.