مرمّز ومفكك ترميز URL مع محلل روابط مدمج
رمّز وفك ترميز روابط URL فوراً أونلاين — مع محلل روابط مدمج ووضعي encodeURI وencodeURIComponent. مجاني وخاص 100%. جرّبه الآن.
ما هو ترميز URL (الترميز بالنسبة المئوية)؟
ترميز URL، المعروف رسمياً بالترميز بالنسبة المئوية، هو آلية معرّفة في RFC 3986 لتمثيل الأحرف في معرّف المورد الموحد (URI) غير المسموح بها أو ذات معنى خاص. يحوّل كل بايت غير آمن إلى علامة نسبة مئوية (%) متبوعة برقمين سداسيين عشريين — مثلاً المسافة تصبح %20، وعلامة العطف تصبح %26، والحرف الصيني 中 يصبح %E4%B8%AD.
يمكن أن تحتوي الروابط فقط على مجموعة محدودة من أحرف مجموعة ASCII. الحروف والأرقام وعدد قليل من الرموز (- _ . ~) تعتبر 'غير محجوزة' ويمكن أن تظهر كما هي. جميع الأحرف الأخرى — بما في ذلك المسافات وعلامات الترقيم والنطاق الكامل لـ Unicode — يجب ترميزها بالنسبة المئوية لنقلها بأمان في الرابط.
الترميز بالنسبة المئوية ضروري في جميع أنحاء الويب: المتصفحات ترمّز إرسالات النماذج، وواجهات API تتطلب معاملات استعلام مرمّزة، وتدفقات OAuth تعتمد على ترميز روابط إعادة التوجيه بشكل صحيح.
توفر هذه الأداة وضعي encodeURI وencodeURIComponent، ومحلل بنية روابط مدمج، وتحويل في الوقت الفعلي، واكتشاف الترميز المزدوج — كل ذلك يعمل بخصوصية في متصفحك.
غالباً ما يُستخدم ترميز URL جنباً إلى جنب مع أدوات تطوير ويب أخرى. قد تحتاج إلى ترميز رابط بـ Base64 لتضمينه في رمز JWT أو حمولة API، أو تنسيق بيانات JSON التي تحتوي على سلاسل روابط لفحص بنيتها.
// Encode a query parameter value
const param = encodeURIComponent('hello world & goodbye');
console.log(param); // → 'hello%20world%20%26%20goodbye'
// Encode a full URL (preserves structure)
const url = encodeURI('https://example.com/path name?q=hello world');
console.log(url); // → 'https://example.com/path%20name?q=hello%20world'
// Decode a percent-encoded string
const decoded = decodeURIComponent('hello%20world%20%26%20goodbye');
console.log(decoded); // → 'hello world & goodbye'
// Build a URL with encoded parameters
const base = 'https://api.example.com/search';
const query = `?q=${encodeURIComponent('你好')}&lang=zh`;
console.log(base + query); // → 'https://api.example.com/search?q=%E4%BD%A0%E5%A5%BD&lang=zh' الميزات الرئيسية
وضعا ترميز مزدوجان
بدّل بين encodeURI (يحافظ على بنية الرابط) وencodeURIComponent (يرمّز كل شيء لقيم المعاملات) لمطابقة حالة استخدامك بالضبط.
محلل روابط مدمج
يقسم أي رابط تلقائياً إلى البروتوكول والمضيف والمنفذ والمسار ومعاملات الاستعلام والجزء — كل حقل قابل للتحرير ويمكن إعادة بنائه في رابط جديد.
تحويل في الوقت الفعلي
رمّز وفك الترميز فوراً أثناء الكتابة — لا حاجة لنقر أزرار، تظهر النتائج فوراً في المنطقة الأخرى مع كل ضغطة مفتاح.
يعمل بالكامل في المتصفح
تتم جميع العمليات محلياً في متصفحك باستخدام واجهات JavaScript الأصلية. لا تغادر بياناتك جهازك أبداً — لا تحميلات على الخوادم ولا تتبع.
دعم كامل لـ UTF-8
يتعامل بشكل صحيح مع الأحرف الصينية واليابانية والكورية والعربية والرموز التعبيرية وأي نص Unicode من خلال ترميز بايتات UTF-8 الصحيح.
اكتشاف الترميز المزدوج
يكتشف تلقائياً ويحذر من مشاكل الترميز المزدوج مثل %2520 (نسبة مئوية مرمّزة لـ %20)، مما يساعدك على تجنب أحد أكثر أخطاء ترميز الروابط شيوعاً.
أمثلة
فك ترميز رابط مشوّه
https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dhello%20world%26lang%3Den
https://example.com/search?q=hello world&lang=en
يتم فك ترميز رابط مرمّز بالكامل بالنسبة المئوية إلى شكله البشري القابل للقراءة، مع كشف معاملات الاستعلام الأصلية والبنية
أحرف صينية
https://example.com/search?q=你好世界
https://example.com/search?q=%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C
تُحوّل الأحرف الصينية إلى تسلسلات بايتات UTF-8 ويتم ترميزها بالنسبة المئوية
معاملات الاستعلام
https://example.com/api?name=John Doe&role=admin&lang=en&sort=date desc
https://example.com/api?name=John%20Doe&role=admin&lang=en&sort=date%20desc
تُرمّز المسافات والأحرف الخاصة في قيم معاملات الاستعلام بالنسبة المئوية مع الحفاظ على بنية الرابط
رابط كامل
https://user:pass@example.com:8080/path/to/page?key=value&arr[]=1#section-2
https://user:pass@example.com:8080/path/to/page?key=value&arr%5B%5D=1#section-2
رابط كامل مع بيانات اعتماد ومنفذ ومسار ومعاملات استعلام بأقواس ومعرّف جزء
رابط إعادة توجيه OAuth
https://auth.example.com/authorize?redirect_uri=https://myapp.com/callback?code=abc&state=xyz
https://auth.example.com/authorize?redirect_uri=https%3A%2F%2Fmyapp.com%2Fcallback%3Fcode%3Dabc%26state%3Dxyz
قيمة redirect_uri نفسها تحتوي على رابط كامل يجب ترميزه حتى لا تُفسَّر أحرفه الخاصة كجزء من الرابط الخارجي
كيفية الاستخدام
- 1
أدخل رابطاً أو سلسلة مرمّزة
الصق رابطاً في منطقة النص المفكوك لترميزه، أو الصق سلسلة مرمّزة بالنسبة المئوية في منطقة النص المرمّز لفك ترميزها. اختر وضع encodeURI أو encodeURIComponent حسب حالة استخدامك.
- 2
شاهد النتائج والبنية المحللة
تتحدث المنطقة الأخرى فوراً أثناء الكتابة. يقسم محلل الروابط البنية إلى بروتوكول ومضيف ومنفذ ومسار ومعاملات استعلام وجزء — جميعها قابلة للتحرير.
- 3
انسخ أو أعد البناء
انقر على انسخ لنسخ النتيجة المرمّزة أو المفكوكة. حرّر مكونات الرابط الفردية وانقر على إعادة البناء لإنشاء رابط جديد من الأجزاء المعدّلة.
أخطاء شائعة
الترميز المزدوج (%2520 بدلاً من %20)
يحدث الترميز المزدوج عندما يُرمّز رابط مرمّز بالفعل مرة أخرى. يُرمّز % في %20 إلى %25، محوّلاً %20 إلى %2520.
https://example.com/path%2520with%2520spaces
https://example.com/path%20with%20spaces
المسافة مرمّزة كـ + في أجزاء المسار
الحرف + يمثل مسافة فقط في تنسيق application/x-www-form-urlencoded (سلاسل الاستعلام من نماذج HTML). في أجزاء مسار الرابط، يُفسَّر + كعلامة زائد حرفية. استخدم دائماً %20 للمسافات في أجزاء المسار.
https://example.com/my+file+name.pdf
https://example.com/my%20file%20name.pdf
استخدام encodeURI على قيم معاملات الاستعلام
لا يرمّز encodeURI() الأحرف & و= أو أحرف محجوزة أخرى، لذا استخدامه على قيمة معامل تحتوي على هذه الأحرف يُفسد بنية سلسلة الاستعلام.
encodeURI('key=value&more') → 'key=value&more' (& not encoded!) encodeURIComponent('key=value&more') → 'key%3Dvalue%26more' افتراض ترميز غير UTF-8
تستخدم بعض الأنظمة القديمة ترميزات مثل Latin-1 أو Shift-JIS لمعاملات الروابط. تتطلب المعايير الحديثة UTF-8. فك ترميز معامل Shift-JIS بمفكك ترميز UTF-8 ينتج نصاً تالفاً.
Decoding %82%B1%82%F1 as UTF-8 (this is Shift-JIS for こん)
Using UTF-8: %E3%81%93%E3%82%93 correctly decodes to こん
ترميز مسارات نسبية بدون سياق
ترميز مسار نسبي مثل ../images/photo.jpg باستخدام encodeURIComponent يحوّل الخطوط المائلة والنقاط إلى تسلسلات مرمّزة، مما يكسر بنية المسار.
encodeURIComponent('../images/photo.jpg') → '..%2Fimages%2Fphoto.jpg' Encode each segment: '../images/' + encodeURIComponent('my photo.jpg') حالات الاستخدام الشائعة
- تصحيح الروابط المشوّهة
- فك ترميز الروابط المرمّزة بالنسبة المئوية من سجلات الخادم أو رسائل الخطأ أو أدوات المطور في المتصفح لقراءة النص الأصلي القابل للقراءة.
- تطوير واجهات API
- ترميز قيم معاملات الاستعلام لاستدعاءات REST API، مع ضمان عدم كسر الأحرف الخاصة مثل & و= والمسافات لرابط الطلب.
- إعداد تدفق OAuth
- ترميز redirect_uri ومعاملات الرابط الأخرى بشكل صحيح في روابط تفويض OAuth لمنع فشل المصادقة.
- الروابط الدولية
- ترميز وفك ترميز الروابط التي تحتوي على أحرف صينية أو يابانية أو كورية أو عربية أو أحرف غير ASCII أخرى لتطبيقات الويب الدولية.
- تحليل روابط التسويق
- فك ترميز روابط التتبع من حملات البريد الإلكتروني ومنصات الإعلان لفهم معاملات UTM المضمنة وسلاسل إعادة التوجيه.
- فحص بنية الرابط
- تحليل الروابط المعقدة إلى مكوناتها — البروتوكول والمضيف والمنفذ والمسار ومعاملات الاستعلام والجزء — للتحليل والتعديل.
تفاصيل تقنية
- أحرف RFC 3986 المحجوزة وغير المحجوزة
- يعرّف RFC 3986 الأحرف غير المحجوزة (A-Z وa-z و0-9 و- و. و_ و~) التي لا تحتاج أبداً للترميز، والأحرف المحجوزة (: و/ و? و# و[ و] و@ و! و$ و& و' و( و) و* و+ و, و; و=) التي تعمل كمحددات URI ويجب ترميزها عند استخدامها كبيانات.
- تدفق ترميز بايتات UTF-8
- تُحوّل الأحرف غير ASCII أولاً إلى نقطة رمز Unicode، ثم تُرمّز كبايتات UTF-8 (1-4 بايتات حسب نطاق نقطة الرمز)، ثم يُرمّز كل بايت بالنسبة المئوية كـ %XX. مثلاً: é (U+00E9) ← بايتات UTF-8: C3 A9 ← %C3%A9.
- مصطلح URL مقابل URI
- URI (معرّف المورد الموحد) هو المصطلح العام لأي سلسلة معرّف. URL (محدد موقع المورد الموحد) هو URI يحدد أيضاً آلية الوصول (مثل https://). تنطبق قواعد الترميز في RFC 3986 على جميع معرّفات URI.
أفضل الممارسات
- استخدم الوضع المناسب للمهمة
- استخدم encodeURIComponent() لمفاتيح وقيم معاملات الاستعلام الفردية. استخدم encodeURI() فقط عندما يكون لديك رابط كامل وتريد ترميز الأحرف غير الآمنة دون كسر بنيته.
- تجنب الترميز المزدوج
- قبل ترميز سلسلة، تحقق مما إذا كانت مرمّزة بالفعل. ابحث عن تسلسلات % موجودة. ترميز سلسلة مرمّزة بالفعل يحوّل %20 إلى %2520. إذا لم تكن متأكداً، فك الترميز أولاً ثم رمّز مرة واحدة.
- فك الترميز على جانب الخادم
- معظم أطر الويب تفك ترميز معاملات الرابط تلقائياً قبل أن يراها كود تطبيقك. تجنب فك ترميز المعاملات يدوياً التي فككها إطارك بالفعل.
- رمّز القيم لـ OAuth وتوقيع API
- تتطلب سلاسل أساس توقيع OAuth 1.0 والعديد من خوارزميات توقيع API ترميزاً صارماً بالنسبة المئوية وفقاً لـ RFC 3986. استخدم encodeURIComponent() ثم استبدل أي أحرف متبقية لا يرمّزها إذا تطلبت المواصفة ذلك.
الأسئلة الشائعة
ما هو ترميز URL ولماذا هو ضروري؟
ما الفرق بين encodeURI وencodeURIComponent؟
هل ترميز URL هو نفسه ترميز HTML؟
لماذا تصبح الأحرف الصينية سلاسل مثل %E4%B8%AD في الروابط؟
ما الفرق بين querystring وURLSearchParams في Node.js؟
كيف أرمّز رابط URL في Python وJavaScript وJava؟
ما هي الأحرف التي لا يرمّزها ترميز URL؟
ما الفرق بين + و%20 لترميز المسافات في الروابط؟
كيف يتعامل ترميز URL مع الرموز التعبيرية؟
هل يمكن استخدام ترميز URL للتعمية أو الأمان؟
ما هو الحد الأقصى لطول رابط URL؟
ما الفرق بين URL وURI؟
لماذا ينكسر رابطي عندما أستخدمه في أمر curl؟
هل يجب ترميز معامل redirect_uri في OAuth؟
أدوات ذات صلة
عرض جميع الأدوات →محوّل Base64 — ترميز وفك ترميز أونلاين
الترميز والتنسيق
رمّز وفك ترميز Base64 مجاناً أونلاين — محوّل فوري مع دعم UTF-8 والرموز التعبيرية. خصوصية 100% — يعمل في متصفّحك. جرّبه الآن.
منسق JSON — التحقق والضغط وإصلاح الأخطاء
الترميز والتنسيق
نسّق JSON وتحقّق من صحته وأصلح الأخطاء فوراً — محرّر مجاني أونلاين يعمل في متصفّحك. يدعم الضغط والتجميل والتحويل. جرّبه الآن.
محوّل الأنظمة العددية — ثنائي وست عشري وعشري وثماني
أدوات التحويل
حوّل بين الأنظمة الثنائية والست عشرية والعشرية والثمانية وأي أساس من 2 إلى 36 فوراً — أداة مجانية أونلاين تعمل في متصفّحك. جرّبها الآن.
ضغط الصور — JPEG وPNG وWebP
أدوات التحويل
اضغط صور JPEG وPNG وWebP أونلاين مجاناً — بياناتك لا تغادر متصفّحك أبداً. قلّل حجم الصورة حتى 80% مع الحفاظ على الجودة. معالجة دفعية لـ 20 صورة.
محوّل وحدات الطول — متري وإمبراطوري والمزيد
أدوات التحويل
حوّل بين 16 وحدة طول فوراً أونلاين — متري وإمبراطوري وبحري وفلكي. أداة مجانية وخاصة تعمل في متصفّحك. جرّبها الآن.
مولّد تجزئة MD5 — فوري ومجاني أونلاين
أدوات الأمن
أنشئ تجزئة MD5 وSHA-256 وSHA-1 وSHA-512 فوراً — أداة مجانية تعمل في متصفّحك بدون تتبّع أو رفع بيانات. الصق النص واحصل على التجزئة في ثانية. جرّبها الآن.