رمزگشایی کدهای URL: ‎%D8%B3‎ دوباره س می‌شود

در متن به جای س نوشته %D8%B3 یا به جای فاصله %20؟ این کدگذاری URL است که درصدکدگذاری هم نامیده می‌شود. متن را بالا بچسبانید: Mojibuster کدها را همان لحظه به حرف‌های واقعی تبدیل می‌کند، بدون هیچ آپلودی.

با متن و این فایل‌ها کار می‌کند:

  • CSV
  • TXT
  • JSON
  • XML
  • SRT
  • VTT
  • SMI
  • TSV
  • MD
  • HTML
  • SQL
  • LOG

مثل خروجی اکسل، نسخه پشتیبان پایگاه داده، زیرنویس و کد وب‌سایت.

اصلاح

  1. فایل را بکشید یا متن را بچسبانید
  2. اصلاح خودکار انجام می‌شود
  3. نتیجه را کپی یا دانلود کنید
یا فایل را اینجا بکشید
  • بدون آپلود. فایل‌ها مستقیم داخل مرورگر شما اصلاح می‌شوند و هرگز از دستگاهتان خارج نمی‌شوند.

  • سرور در اتحادیه اروپا. Mojibuster روی سروری در فنلاند (اتحادیه اروپا) اجرا می‌شود؛ بنابراین مقررات عمومی حفاظت از داده‌ها (GDPR) برقرار است. متن مقررات (EUR-Lex، به انگلیسی)

کدگذاری URL چطور کار می‌کند

در نشانی‌های وب فقط تعداد کمی نویسه مجاز است: حروف لاتین، رقم‌ها و چند علامت نگارشی. بقیه کد می‌شوند. حرف س در UTF-8 از دو بایت D8 و B3 ساخته شده و به %D8%B3 تبدیل می‌شود. فاصله هم %20 می‌شود، یا در فرم‌ها +.

متن کدشده این شکلی است و این‌طور دوباره خوانا می‌شود.

کدشده

%D8%AA%D9%87%D8%B1%D8%A7%D9%86 %D9%88 %D8%B4%DB%8C%D8%B1%D8%A7%D8%B2

رمزگشایی‌شده

تهران و شیراز

رایج‌ترین کدهای URL

  • %D8%A7 = ا، %D8%B3 = س، %D9%85 = م، %D8%B1 = ر
  • %DB%8C = ی، %DA%A9 = ک، %DA%AF = گ، %DA%86 = چ، %D9%BE = پ، %DA%98 = ژ
  • %E2%82%AC = €، %E2%80%99 = ’، %E2%80%93 = –
  • %20 = فاصله، %2F = /، %3F = ?، %26 = &، %25 = %

حروف فارسی بیشتر با %D8 یا %D9 شروع می‌شوند و حروف ویژه‌ای مثل ی، ک، گ و چ با %DB یا %DA. هر حرف دو کد (دو بایت) دارد. سیستم‌های قدیمی گاهی هر حرف را با یک بایت از Windows-1256 کد می‌کنند: %DD%C7%D1%D3%ED به جای %D9%81%D8%A7%D8%B1%D8%B3%DB%8C. Mojibuster این را هم می‌شناسد و به فارسی تبدیل می‌کند.

متن کدشده از کجا می‌آید

  • لینک‌های کپی‌شده: مرورگر نشانی ویکی‌پدیا را خوانا نشان می‌دهد، ولی هنگام کپی اغلب %D8%AA%D9%87%D8%B1%D8%A7%D9%86 در کلیپ‌بورد می‌ماند.
  • فرم‌ها و ردیابی: عبارت‌های جست‌وجو و پارامترهای UTM در لاگ سرور و گزارش‌های تحلیلی کدشده ذخیره می‌شوند، مثلاً ?q=%DA%86%D8%A7%DB%8C.
  • خروجی‌ها و API: بعضی ابزارهای خبرنامه، وب‌هوک‌ها و API ها مقدارها را کدشده نگه می‌دارند؛ آن‌وقت در فایل CSV به جای نام‌ها کد می‌بینید.
  • نام فایل‌ها: وقتی سرور نام را رمزگشایی نکند، فایل با نام %D9%81%D8%A7%DA%A9%D8%AA%D9%88%D8%B1.pdf دانلود می‌شود.

کد و نویسه‌های خراب با هم

گاهی متن دو بار خراب شده است: %D8%B7%C2%A7%D8%B8%E2%80%9E شکل کدشده‌ی ط§ظ„ است، یعنی همان ال که اول با Windows-1256 اشتباه خوانده و بعد کد شده. Mojibuster اول کدها را رمزگشایی می‌کند و بعد خرابی را درست می‌کند؛ در پایان ال دوباره دیده می‌شود. جزئیات در تبدیل Windows-1256 به UTF-8.

گزینه‌ی تبدیل کدها هم در این صفحه از قبل فعال است. این گزینه کدهای HTML (س)، کدهای ایمیل (=D8=B3) و کدهای برنامه‌نویسی (\u0633) را هم تبدیل می‌کند. برای خطاهای دیگر: موجی‌باستر چیست.

رمزگشایی دستی در اکسل، جاوااسکریپت، پایتون و PHP

  • اکسل: فقط تابع کدگذاری دارد (ENCODEURL در نسخه‌ی انگلیسی) و تابعی برای رمزگشایی ندارد. ساده‌ترین راه: ستون را کپی کنید، اینجا بچسبانید و نتیجه را برگردانید. مشکل حروف عجیب در اکسل را هم ببینید.
  • جاوااسکریپت: decodeURIComponent("%D8%AA%D9%87%D8%B1%D8%A7%D9%86") نتیجه‌اش تهران است.
  • پایتون: urllib.parse.unquote("%D8%AA%D9%87%D8%B1%D8%A7%D9%86")، یا unquote_plus برای داده‌ی فرم که + را فاصله می‌گیرد.
  • PHP: تابع rawurldecode()، یا urldecode() برای داده‌ی فرم.

پرسش‌های متداول

%D8%B3 یعنی چه؟

همان حرف س در کدگذاری URL است: دو بایت D8 و B3 در UTF-8 که جلوی هر کدام % آمده. به همین ترتیب %D8%A7 حرف ا و %D9%85 حرف م است.

%20 یعنی چه؟

یک فاصله. در داده‌ی فرم اغلب به جای آن + می‌آید. Mojibuster علامت + را دست نمی‌زند، چون در متن عادی ممکن است واقعاً علامت جمع باشد.

آیا لینک‌های من آپلود می‌شوند؟

خیر. تبدیل کاملاً داخل مرورگر انجام می‌شود. لینک‌های دارای توکن، نشانی ایمیل یا اطلاعات شخصی هرگز از دستگاه شما خارج نمی‌شوند.

چرا 100% تغییری نمی‌کند؟

Mojibuster فقط دنباله‌هایی را تبدیل می‌کند که یک نویسه‌ی ویژه‌ی واقعی بسازند. 100%، 50 % یا یک %20 تنها در متن عادی همان‌طور می‌مانند.

راهنماهای دیگر