URL انکوڈر اور ڈی کوڈر

URLs اور کوئری سٹرنگز کے لیے متن کو percent-encode کریں، انکوڈ شدہ URLs ڈی کوڈ کریں، اور کسی بھی URL کو ڈی کوڈ شدہ کوئری پیرامیٹرز کے ساتھ حصوں میں بانٹیں۔

آپ کے براؤزر میں چلتا ہےسائن اپ کی ضرورت نہیںکچھ اپ لوڈ نہیں ہوتا

انکوڈ شدہ

URL انکوڈ / ڈی کوڈ استعمال کرنے کا طریقہ

  1. انکوڈ یا ڈی کوڈ منتخب کریں۔
  2. انکوڈ کرتے وقت ایک کوئری ویلیو یا پاتھ سیگمنٹ کے لیے کمپوننٹ، URL کا ڈھانچہ برقرار رکھنے کے لیے مکمل URL، یا فارم ڈیٹا منتخب کریں جو application/x-www-form-urlencoded کے لیے ہے۔
  3. اپنا متن پیسٹ کریں۔ نتیجہ فوراً ظاہر ہوتا ہے؛ خراب ایسکیپس ان کی پوزیشن کے ساتھ رپورٹ ہوتے ہیں۔
  4. مکمل URL کو URL پارسر میں پیسٹ کریں تاکہ اس کا ہوسٹ، پاتھ، فریگمنٹ اور ہر کوئری پیرامیٹر ڈی کوڈ شدہ دیکھیں۔

URL انکوڈنگ کیا ہے؟

URLs میں صرف ASCII کریکٹرز کا ایک محدود سیٹ ہو سکتا ہے (RFC 3986)۔ باقی سب کچھ، بشمول اسپیسز، غیر انگریزی حروف اور خاص مطلب والے کریکٹرز جیسے &، ? اور #، ہر UTF-8 بائٹ کے لیے فیصد کے نشان اور دو ہیکس ہندسوں کی صورت میں لکھا جاتا ہے۔ اسپیس %20 بنتی ہے اور é بنتا ہے %C3%A9۔

encodeURIComponent بمقابلہ encodeURI

فنکشنجنہیں نہیں چھیڑتااستعمال
encodeURIComponentA-Z a-z 0-9 - _ . ~ایک کوئری ویلیو، پاتھ سیگمنٹ یا پیرامیٹر کا نام
encodeURIساتھ میں : / ? # [ ] @ ! $ & ' ( ) * + , ; =مکمل URL جس کا ڈھانچہ برقرار رہنا ضروری ہو

کوئری ویلیو پر encodeURI استعمال کرنا ایک کلاسک بگ ہے: ویلیو کے اندر کا & ایسکیپ نہیں ہوتا، اس لیے پیرامیٹر دو حصوں میں بٹ جاتا ہے۔ اس ٹول کا کمپوننٹ موڈ سخت RFC 3986 مطابقت کے لیے ! ' ( ) * کو بھی ایسکیپ کرتا ہے۔

اسپیس کے لیے %20 یا +؟

پاتھس میں اسپیس %20 ہونی چاہیے۔ HTML فارم سبمیشنز (application/x-www-form-urlencoded) اور بہت سی کوئری سٹرنگز میں اسپیس + کے طور پر لکھی جاتی ہے۔ ڈی کوڈ کرتے وقت فارم ڈیٹا کے لیے + کو اسپیس سمجھیں آن کریں، اور جب لفظی جمع کا نشان اہم ہو، جیسے jane+test@example.com میں، تو اسے بند کریں۔

اکثر پوچھے جانے والے سوالات

ڈی کوڈ کرتے وقت «Malformed escape» کیوں آتا ہے؟
% کے بعد بالکل دو ہیکس ہندسے آنے چاہئیں۔ لفظی فیصد کا نشان، جیسے «50% رعایت» میں، %25 کے طور پر انکوڈ ہونا چاہیے تھا۔ ایرر غلط ترتیب کی پوزیشن دکھاتا ہے۔
«غلط UTF-8 بائٹ سیکوئنس» کا کیا مطلب ہے؟
بائٹس UTF-8 میں انکوڈ نہیں ہوئے، اکثر اس لیے کہ متن کسی پرانے سسٹم نے Latin-1 سے بنایا (مثلاً é کے لیے %C3%A9 کے بجائے %E9)، یا سٹرنگ کسی کریکٹر کے بیچ میں کٹ گئی۔
کیا پورا URL انکوڈ کروں یا صرف پیرامیٹرز؟
ہر پیرامیٹر کا نام اور ویلیو الگ الگ کمپوننٹ انکوڈنگ سے انکوڈ کریں، پھر انہیں = اور & سے جوڑیں۔ مکمل URL کو کمپوننٹ موڈ سے انکوڈ کرنا :// کو بھی ایسکیپ کر کے اسے توڑ دے گا۔
کیا دوہری انکوڈنگ مسئلہ ہے؟
جی ہاں۔ پہلے سے انکوڈ شدہ سٹرنگ کو دوبارہ انکوڈ کرنے سے %20 بن جاتا ہے %2520۔ اگر آپ کو %25 کے بعد ہیکس ہندسے نظر آئیں تو ویلیو غالباً دو بار انکوڈ ہوئی ہے۔ اصل حاصل کرنے کے لیے اسے دو بار ڈی کوڈ کریں۔

متعلقہ ٹولز