ترميز وفك ترميز URL

**URL:** `/url-encode-decode/` **URL:** `/url-encode-decode/` **Schema:** `WebApplication` + `FAQPage` + `BreadcrumbList`

تتم جميع العمليات الحسابية في المتصفح. لا يُرسل أي مما تدخله إلى خادم.

01 حاسبة

تتحدث النتائج أثناء الكتابة. Ctrl/Cmd+Enter ينسخ النتيجة الرئيسية.

النتيجة

    إظهار الحل

      يطبق تشفير وفك تشفير URL تشفير النسبة المئوية RFC 3986 على النص ويعكس تسلسلات %HH مرة أخرى إلى الأحرف. يقوم وضع المكون بتشفير الأحرف المحجوزة مثل / و? و& حتى تتمكن من الجلوس بأمان داخل معلمة استعلام واحدة. يحافظ وضع URI الكامل على المحددات الهيكلية بحيث يظل العنوان الكامل رابطًا قابلاً للاستخدام. توفر معالجة المساحة كلاً من %20 وعلامة الجمع الخاصة بترميز النموذج.

      يتم تشغيل جميع عمليات التشفير وفك التشفير في متصفحك. لا يتم إرسال أي شيء تلصقه إلى الخادم.

      تشفير النص للاستخدام الآمن في عنوان URL

      Concept diagram: المدخلات leads to تشفير النص للاستخدام الآمن في عنوا… leads to النتيجةالمدخلاتتشفير النص للاستخدامالآمن في عنوا…النتيجة
      تشفير النص للاستخدام الآمن في عنوان URL.

      يستبدل ترميز النسبة المئوية وحدات البايت غير الآمنة أو المحجوزة بعلامة النسبة المئوية متبوعة برقمين سداسي عشري. الأرقام هي قيمة البايت، عادةً من UTF-8. أدخل سلسلة، واختر مكونًا أو وضع URI كاملاً، وانسخ النتيجة المشفرة إلى سلسلة استعلام أو مقطع مسار أو هدف إعادة التوجيه.

      تمر الأحرف الموجودة بالفعل في المجموعة غير المحجوزة دون تغيير. كل شيء آخر يصبح تسلسلات %HH في وضع المكون. يكون التشفير قابلاً للعكس عند استخدام نفس القواعد في فك التشفير؛ يعد مزج علامات ترميز النموذج مع نمط المسار %20 هو المصدر المعتاد للرحلات ذهابًا وإيابًا المعطلة.

      فك تشفير سلسلة مشفرة بنسبة مئوية

      Scale bar: 1 وحدة الإدخال equals 1.8 وحدة الإخراج1 وحدة الإدخال1.8 وحدة الإخراج
      فك تشفير سلسلة مشفرة بنسبة مئوية.

      يعثر فك التشفير على كل % متبوعًا برقمين سداسي عشريين، ويحول هذا الزوج إلى بايت، ويعيد إنشاء النص الأصلي باستخدام ترميز الأحرف المحدد. يعتبر % أو % الوحيد الذي يحتوي على أرقام غير سداسية خطأ. يمكن التعامل مع علامات الزائد اختياريًا كمسافات عندما يأتي الإدخال من نصوص application/x-www-form-urlencoded.

      يظهر الترميز المتداخل عندما يتم ترميز القيمة مرتين. قد يؤدي فك التشفير مرة واحدة إلى ترك تسلسلات %25 تمثل نسبة مئوية حرفية. فك التشفير مرة أخرى فقط عندما تكون تلك الطبقة الثانية مقصودة؛ يؤدي فك التشفير المزدوج الأعمى إلى إتلاف البيانات التي تحتوي على حرف % حقيقي.

      فهم الشخصيات المحجوزة وغير المحجوزة

      Concept diagram: المدخلات leads to فهم الشخصيات المحجوزة وغير المحجوزة leads to النتيجةالمدخلاتفهم الشخصيات المحجوزةوغير المحجوزةالنتيجة
      فهم الشخصيات المحجوزة وغير المحجوزة.

      يقسم RFC 3986 ASCII إلى أحرف غير محجوزة لا تحتاج أبدًا إلى تشفير في URI، وأحرف محجوزة تحمل معنى بنيويًا مثل المحددات. تظل الأحرف والأرقام و-_.~ غير المحفوظة حرفية. يجب أن تكون العلامات المحجوزة مثل / و? و& مشفرة بنسبة مئوية عندما تظهر كبيانات بدلاً من بناء الجملة الذي يؤطر عنوان URL.

      غير محجوزة: A إلى Z، a إلى z، 0 إلى 9، واصلة -، الشرطة السفلية _، النقطة .، التلدة ~

      محجوز (gen-delims): `: / ?

      محجوز (الفواصل الفرعية): ! $ & ' ( ) * + , ; =

      تبقى الأحرف غير المحفوظة حرفية. يجب ترميز الأحرف المحجوزة عندما تظهر كبيانات وليس كمحددات. علامة الاستفهام داخل قيمة المعلمة هي البيانات؛ علامة الاستفهام التي تبدأ سلسلة الاستعلام هي البنية. اختيار الوضع هو الطريقة التي تعرف بها الآلة الحاسبة الدور الذي تلعبه كل شخصية.

      قم بتشفير عنوان URL بالكامل مقابل معلمة واحدة

      Comparison chart of Option A versus Option B across Case 1, Case 2, Case 3Case 1Case 2Case 3Option AOption B
      قم بتشفير عنوان URL بالكامل مقابل معلمة واحدة.

      يؤدي ترميز URI الكامل، المشابه لـ JavaScript encodeURI، إلى ترك الأحرف الهيكلية وحدها حتى تظل https:// وخطوط المسار المائلة على قيد الحياة. يقوم ترميز المكونات، المشابه لـ encodeURIComponent، بتشفير تلك الأحرف بحيث يمكن وضع القيمة داخل المعلمة دون كسر عنوان URL المحيط. يؤدي اختيار الوضع الخاطئ إلى تدمير الارتباط أو ترك المحددات التي تقسم الاستعلام بشكل غير صحيح.

      InputFull-URI styleComponent style
      https://example.com/a bhttps://example.com/a%20bhttps%3A%2F%2Fexample.com%2Fa%20b
      red&bluered&bluered%26blue
      a=ba=ba%3Db

      يؤدي تشفير عنوان URL بالكامل باستخدام وضع المكون إلى تدميره كارتباط: تصبح النقطتان والشرطات المائلة للمخطط %3A و%2F. يؤدي ترميز معلمة واحدة باستخدام وضع URI الكامل إلى ترك & و= سليمة، مما يؤدي إلى تقسيم الاستعلام بشكل غير صحيح. اختر الوضع الذي يطابق الفتحة التي ستشغلها السلسلة.

      ترميز شرطة مائلة وعلامة استفهام

      Concept diagram: المدخلات leads to ترميز شرطة مائلة وعلامة استفهام leads to النتيجةالمدخلاتترميز شرطة مائلة وعلامةاستفهامالنتيجة
      ترميز شرطة مائلة وعلامة استفهام.

      تصبح سلسلة التثبيت / و ? في وضع المكون %2F%20and%20%3F. تعتبر الشرطة المائلة وعلامة الاستفهام محددات محجوزة يتم التعامل معها هنا كنص حمولة، لذلك يتم تجاوز كل منهما. تصبح المسافات %20، بينما الحروف الموجودة في و تكون غير محجوزة وتمر دون تغيير من اليسار إلى اليمين عبر السلسلة.

      CharacterReasonEncoded
      /reserved path delimiter%2F
      spacenot unreserved%20
      a, n, dunreserved lettersunchanged
      ?reserved query delimiter%3F

      انتقل عبر السلسلة من اليسار إلى اليمين: تشفير /، تشفير المسافة، تمرير و، تشفير المسافة، تشفير ؟. يمكن وضع النتيجة %2F%20and%20%3F بشكل آمن في معلمة استعلام تسمى، على سبيل المثال، q. سيؤدي استخدام وضع URI الكامل على نفس السلسلة إلى ترك / و? حرفيًا، وهو صحيح فقط عندما يُقصد بهذه الأحرف أن تكون بنية وليس نص حمولة.

      افهم %20 مقابل علامة الزائد

      Comparison chart of Option A versus Option B across Case 1, Case 2, Case 3Case 1Case 2Case 3Option AOption B
      افهم %20 مقابل علامة الزائد.

      يتم ترميز المسافة كـ %20 في مسارات URI وفي سلاسل الاستعلام الحديثة التي تتبع RFC 3986. أما نماذج HTML التي يتم إرسالها كـ application/x-www-form-urlencoded فإنها تقوم تاريخيًا بتشفير المسافات كـ + بدلاً من ذلك. تظهر كلا الاتفاقيتين في حركة الإنتاج، والتعامل معهما على أنهما متماثلان هو الخطأ الأكثر شيوعًا في تشفير الفضاء عند فك تشفير المدخلات المختلطة.

      ContextSpace encoding
      Path segment%20
      RFC 3986 query%20
      Form body / legacy query+

      يجب ترميز بيانات تسجيل الدخول الحرفية كـ %2B، أو ستعاملها وحدة فك ترميز النماذج كمسافة. تقوم الآلة الحاسبة بتسمية اتفاقية الفضاء النشطة بحيث لا يتم الخلط بين + الذي تم فك تشفيره كحرف زائد عندما يكون وضع النموذج قيد التشغيل، ولا يتم رفض %20 عندما يكون وضع المسار قيد التشغيل.

      قم بتقسيم عنوان URL إلى أجزائه

      Concept diagram: المدخلات leads to قم بتقسيم عنوان URL إلى أجزائه leads to النتيجةالمدخلاتقم بتقسيم عنوان URL إلىأجزائهالنتيجة
      قم بتقسيم عنوان URL إلى أجزائه.

      يحتوي عنوان URL النموذجي على مخطط ومضيف ومنفذ اختياري ومسار وسلسلة استعلام وجزء، وتختلف قواعد التشفير باختلاف الجزء. تظل المحددات الهيكلية مثل :// و/ و? و& و= و# حرفية عند تأطير العنوان.

      يتم تشفير أسماء المعلمات وقيم المعلمات ومقاطع المسار التي تحمل البيانات بشكل فردي في وضع المكون قبل أن تنضم إليها تلك المحددات.

      https://example.com:443/search?q=a%20b&lang=en#top
      └─┬─┘   └─────┬─────┘ └─┬──┘ └───────┬───────┘ └┬┘
      scheme       host     path        query      fragment
      PartRole
      SchemeProtocol, such as https
      HostDomain or IP, with optional port
      PathResource location, slash-separated
      QueryParameter list after ?, joined by &
      FragmentClient-side location after #, not sent to the server in the request URI the same way

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

      اقرأ جدول ترميز الأحرف

      Concept diagram: المدخلات leads to اقرأ جدول ترميز الأحرف leads to النتيجةالمدخلاتاقرأ جدول ترميز الأحرفالنتيجة
      اقرأ جدول ترميز الأحرف.

      يسرد الجدول أدناه الأحرف المحجوزة وغير الآمنة الشائعة مع نماذج النسبة المئوية الخاصة بها ضمن تشفير UTF-8 بايت. تصبح المسافة %20، وعلامة العطف %26، والتجزئة %23. تتوسع الأحرف غير ASCII إلى وحدات %HH متعددة لأن كل بايت UTF-8 يتم ترميزه بشكل منفصل وليس كحرف رسومي مجرد واحد.

      CharPercentNotes
      space%20Or + in form encoding
      !%21
      #%23Fragment delimiter
      $%24
      &%26Query pair delimiter
      '%27
      (%28
      )%29
      +%2BLiteral plus
      ,%2C
      /%2FPath delimiter
      :%3AScheme / host separator
      ;%3B
      =%3DParameter assignment
      ?%3FQuery start
      @%40Userinfo separator
      [%5B
      ]%5D

      يتم التعبير عن النص غير ASCII أولاً على شكل بايتات UTF-8، ثم يتم ترميز كل بايت بنسبة مئوية. لذلك قد يمتد الحرف الواحد إلى وحدتين أو ثلاث وحدات %HH. تعمق في ترميز الأحرف لـ Shift JIS والمجموعات القديمة المشابهة مباشرةً باستخدام أداة Base64؛ ترتبط هذه الصفحة بدلاً من تكرار هذا الكتالوج.

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

      ما هو ترميز النسبة المئوية؟

      يستبدل التشفير المئوي البايت بـ % متبوعًا برقمين سداسيين عشريين من قيمة هذا البايت. فهو يتيح للأحرف المحجوزة وغير ASCII التنقل داخل عناوين URL دون قراءتها كتركيب جملة. فك التشفير يعكس الاستبدال.

      متى يجب استخدام ترميز المكونات؟

      استخدم ترميز المكون لاسم أو قيمة معلمة واحدة، أو مقطع مسار عبارة عن بيانات خالصة، أو أي سلسلة سيتم إدراجها بجوار المحددات الهيكلية. يقوم بتشفير / و? و& و= بحيث لا يمكنهم تقسيم عنوان URL.

      متى يجب استخدام ترميز URI الكامل؟

      استخدم ترميز URI الكامل عندما يكون الإدخال عبارة عن عنوان URL كامل بالفعل ويجب تغيير الأحرف غير القانونية فقط مثل المسافات. تظل النقطتان الهيكليتان والخطوط المائلة حرفية بحيث تظل النتيجة عنوانًا قابلاً للنقر عليه.

      لماذا يتحول / و ? إلى %2F%20and%20%3F؟

      في الوضع المكون، يتم التعامل مع الشرطة المائلة وعلامة الاستفهام كبيانات، لذلك يتم تشفيرها إلى %2F و%3F. تصبح المسافات %20. الحروف الموجودة في "و" غير محجوزة وتبقى كما هي.

      هل + هو نفس %20؟

      لا، %20 هو ترميز RFC 3986 للمسافة. + تعني المساحة فقط في بيانات application/x-www-form-urlencoded. يجب أن تكون علامة الزائد %2B وإلا فإن وحدات فك ترميز النماذج ستحولها إلى مسافة.

      ما هي الشخصيات التي لا تحتاج إلى ترميز أبدًا؟

      المجموعة غير المحفوظة: الحروف والأرقام والواصلة والشرطة السفلية والنقطة والتيلدا. تظل هذه الأحرف حرفية في كلا الوضعين. لا يزال تشفيرها يعمل ولكنه يضيف طولًا لا داعي له.

      كيف يتم ترميز الأحرف غير ASCII؟

      ويتم تحويلها إلى بايتات UTF-8 أولاً، ثم يتم ترميز كل بايت بنسبة مئوية. يمكن أن يتحول حرف واحد مرئي إلى تسلسلات %HH متعددة. يجب أن يستخدم فك التشفير UTF-8 لإعادة إنشاء النص الأصلي.

      هل يؤدي فك التشفير مرتين إلى إصلاح عنوان URL المعطل؟

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

      هل هذا هو نفس Base64؟

      لا، فالترميز المئوي يفلت من الأحرف الخاصة بعناوين URI. يقوم Base64 بتعيين البايتات التعسفية إلى أبجدية مكونة من 64 حرفًا للنقل في بروتوكولات النص. استخدم كل منها لوظيفتها الخاصة.

      هل تم تحميل عناوين URL التي تم لصقها؟

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

      ملخص

      يقوم تشفير وفك تشفير عنوان URL بتشفير وفك تشفير النص وفقًا لقواعد RFC 3986، مع أوضاع منفصلة لعناوين URI الكاملة والمكونات الفردية. تصبح التركيبة / و ? %2F%20and%20%3F في الوضع المكون. تستخدم المسافات %20 في سياقات URI وقد تستخدم + في تشفير النموذج، وهو تقليد مختلف.

      تحتفظ الأحرف المحجوزة بمعناها فقط عندما تُترك حرفيًا كبنية؛ تشفيرها عندما تكون حمولة. كل العمل يبقى على الجهاز.

      حاسبات ذات صلة

      تشفير وفك تشفير Base64 · حاسبة الشبكة الفرعية IP · الحاسبة السداسية