خانه / ابزارهای متن / کدگذار و رمزگشای URL

کدگذار و رمزگشای URL

پیوندها را برای استفاده امن به صورت درصدی کدگذاری کنید، یا آنها را به متن خوانا برگردانید. رایگان.

نحوه استفاده

  1. الصاق کنید پیوند یا متن را که می خواهید در کادر ورودی کدگذاری کنید.
  2. انتخاب کنید کدگذاری برای کدگذاری درصدی حروف خاص، یا رمزگشایی برای برعکس کردن فرایند.
  3. حالت را انتخاب کنید پیوند کامل (: / ? # و & را نگه می دارد) یا حالت جزئی (همه چیز را کدگذاری می کند، برای مقادیر کوئری).
  4. نتیجه را کپی کنید — برای چسباندن در کد، پیوندها یا فراخوانی های API آماده است.

سوالات پرتکرار

آیا این واقعا رایگان است؟

بله — هر ابزار این سایت 100% رایگان است، بدون محدودیت، بدون ثبت نام و بدون واترمارک.

آیا داده های من خصوصی است؟

کاملا. همه پردازش به صورت محلی در مرورگر شما انجام می شود. فایل های شما هرگز به هیچ سروری بارگذاری نمی شوند.

کدگذاری درصدی چیست؟

روشی که حروف خاص را در پیوندها با نشانه % و دو رقم هگزادسیمال نشان می دهد — مثلا فاصله %20 می شود. و این تضمین می کند که پیوندها فقط حروف امن ASCII داشته باشند که هر سرور و مرورگری آنها را می فهمد.

تفاوت encodeURI و encodeURIComponent چیست؟

encodeURI برای پیوندهای کامل است: حروف ساختاری (: / ? # &) را دست نخورده می گذارد. در حالی که encodeURIComponent برای مقادیر واحد مثل پارامترهای کوئری است: این حروف ساختاری را هم کدگذاری می کند. وقتی مقداری درون پیوند را کدگذاری می کنید از حالت جزئی استفاده کنید.

واقعا چه زمانی به کدگذاری پیوند نیاز دارم؟

هر وقت در آن فاصله، حروف غیر ASCII (اردو، عربی یا ایموجی ها) یا حروف رزرو شده درون مقدار پارامتر باشد. پیوندهای کدگذاری نشده پیوندها، فرم های HTML، تغییر مسیرها و درخواست های API را می شکنند.

آیا رمزگشایی نشانه جمع (+) را فاصله می داند؟

در رشته های کوئری، + به طور سنتی فاصله را نشان می دهد (کدگذاری فرم HTML). رمزگشا هنگام رمزگشایی ورودی به سبک رشته کوئری با هر دو %20 و + درست برخورد می کند.

راهنمای کامل کدگذاری پیوند

پیوندها در دوران فقط ASCII طراحی شده بودند، اما وب مدرن پر از فاصله، متن اردو، ایموجی ها و نشانه هاست. کدگذاری درصدی شکاف را پر می کند: هر حرف غیر امن با نشانه جایگزین می شود % که پس از آن کد هگزادسیمال دو رقمی آن می آید. پس فاصله می شود %20، پس «hello world» می شود hello%20world — پیوندی که هر مرورگر و سروری می تواند با آن کنار بیاید.

هر دو حالت، با توضیح

حروف پیوند به دو گروه تقسیم می شوند. حروف رزرو شده (: / ? # [ ] @ ! $ & ' ( ) * + , ; =) معنای ساختاری دارد — اینها پروتکل، هاست، مسیر و کوئری را جدا می کنند. در حالی که حروف غیر رزرو شده (حروف، ارقام و- _ . ~) همیشه امن اند. حالت پیوند کامل (مثل encodeURI در جاوا اسکریپت) فقط حروف غیر رزرو شده را کدگذاری می کند و ساختار را نگه می دارد — آن را برای پیوندهای کامل استفاده کنید. در حالی که حالت جزئی (مثل encodeURIComponent) حروف رزرو شده را هم کدگذاری می کند — آن را برای یک مقدار کوئری واحد استفاده کنید مثل ?q=hello world & friends، جایی که نباید خلط شود بین & درون مقدار و جداکننده پارامترها.

اشتباه های کلاسیکی که این از آنها جلوگیری می کند

در کد: در جاوا اسکریپت موجود است encodeURIComponent() به صورت داخلی؛ و در Python هست urllib.parse.quote(). اما برای کارهای فوری یک باره — درست کردن پیوند، آماده کردن تغییر مسیر، یا رمزگشایی پیوند به هم ریخته از ایمیل — این ابزار از باز کردن کنسول سریع تر است.

کدگذاری متن غیر انگلیسی

حروف Unicode نخست به بایت های UTF-8 تبدیل می شوند، سپس هر بایت به صورت درصدی کدگذاری می شود. پس کلمه اردوی اردو چنین رشته ای می شود %D8%A7%D8%B1%D8%AF%D9%88 — طولانی، اما برای کپی کردن کاملا امن. مرورگرهای مدرن شکل رمزگشایی شده را در نوار نشانی نشان می دهند در حالی که شکل کدگذاری شده را روی سیم می فرستند، به همین دلیل پیوندهای بین المللی برای کاربران «کار می کنند» اما در کد هنوز به کدگذاری درست نیاز است.

کدگذاری کجا بیشتر مهم است