§

ڈی کوڈ کرنے کے لیے متن درج کریں:

وہ URL انکوڈ شدہ متن درج کریں جسے آپ ڈی کوڈ کرنا چاہتے ہیں۔ یہ ٹول فیصد سے انکوڈ شدہ حروف کو ان کی اصل شکل میں تبدیل کر دے گا۔
§

Output

decoded

Pakistan کی mobile-first کمپنیوں — Daraz، Foodpanda Pakistan، Careem، Bykea اور Trax — کی گرو تھ ٹیمیں روزانہ encoded URLs کو decode کرتی ہیں تاکہ Google Analytics اور Meta Ads کے UTM پیرامیٹرز کا تجزیہ ہو سکے۔ JazzCash اور SadaPay کے webhooks میں آنے والے OAuth state اور nonce values، PTA کے WAF لاگز میں attack signatures، اور Shopify-جیسے storefronts پر چلنے والی پاکستانی ای کامرس کی URL-encoded checkout چینز سب decoding کی متقاضی ہوتی ہیں۔ Islamabad اور Lahore کے incident response analysts اس ٹول کو پسند کرتے ہیں کیونکہ مشکوک URLs کو online unescape سروس پر paste کرنا خود ایک سیکیورٹی لیک ہے — یہاں سب کچھ مقامی browser میں ہوتا ہے۔

جدید اختیارات

+ کو خالی جگہوں میں تبدیل کریں

فعال ہونے پر، + حروف کو خالی جگہوں میں تبدیل کیا جائے گا۔ یہ استفسار پیرامیٹرز کو ڈی کوڈ کرتے وقت مفید ہے۔

لائیو موڈ

فعال ہونے پر، متن ٹائپ کرتے وقت خودکار طور پر ڈی کوڈ ہو جائے گا۔

یہ اختیارات آپ کو یہ کنٹرول کرنے میں مدد کرتے ہیں کہ آپ کے URLs میں انکوڈ شدہ حروف کیسے ڈی کوڈ ہوتے ہیں۔

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

URL ڈیکوڈنگ فیصد انکوڈنگ کو الٹا کرتی ہے: یہ کسی انکوڈ شدہ URL میں موجود %XX ایسکیپ تسلسلوں کو پڑھتی ہے اور انہیں دوبارہ اُن حروف میں بدل دیتی ہے جن کی وہ نمائندگی کرتے ہیں۔ اسی طرح آپ کسی براؤزر، API یا لاگ لائن کے دیے ہوئے انکوڈ شدہ URL سے کوئری اسٹرنگ، فارم ویلیو یا پاتھ سیگمنٹ کو قابلِ مطالعہ شکل میں واپس حاصل کرتے ہیں۔

URL ڈیکوڈنگ کیسے کام کرتی ہے؟

URL ڈیکوڈنگ فیصد میں انکوڈ شدہ تسلسلوں کو ان کے اصل حروف میں واپس تبدیل کرنے کے لیے ایک مخصوص عمل کی پیروی کرتی ہے:

  1. ان پٹ سٹرنگ میں فیصد-انکوڈ شدہ ایسکیپ سلسلوں (%XX) کی تلاش کی جاتی ہے
  2. ہر %XX کو اس کے دو ہیکساڈیسیمل ہندسوں سے واپس اصل بائٹ قدر میں تبدیل کیا جاتا ہے
  3. متواتر ڈیکوڈ شدہ بائٹس کو UTF-8 حروف میں دوبارہ جوڑا جاتا ہے (ایک ملٹی بائٹ سلسلہ ایک حرف بن جاتا ہے)
  4. کوئری سٹرنگ سیاق میں، + کو خالی جگہ کے طور پر ڈیکوڈ کیا جاتا ہے (application/x-www-form-urlencoded)، جبکہ %2B لفظی + رہتا ہے
  5. غیر محفوظ حروف اور پہلے سے ڈیکوڈ شدہ متن بغیر تبدیلی کے گزر جاتے ہیں

URL ڈیکوڈر کیوں استعمال کریں؟

  • پڑھنے کے قابل آؤٹ پٹ: %20، %40 اور %3D کو واپس اسپیس، @ اور = میں تبدیل کریں تاکہ URL واقعی کیا کہتا ہے وہ پڑھ سکیں
  • بین الاقوامی متن: اپنے UTF-8 بائٹ تسلسلوں سے لہجے والے اور غیر ASCII حروف دوبارہ بنائیں، تاکہ %C3%A9 دوبارہ é پڑھا جا سکے
  • ڈیبگنگ: کوئری اسٹرنگ، OAuth ری ڈائریکٹ یا ویب ہک پیلوڈ کے اندر اصل اقدار کا جائزہ لیں اس پر عمل کرنے سے پہلے
  • معیاری ڈیکوڈنگ: RFC 3986 کے مطابق ڈیکوڈ کریں، وہی اصول جو براؤزر اور سرور استعمال کرتے ہیں، تاکہ آپ بالکل وہی دیکھیں جو وہ دیکھتے ہیں

URL ڈیکوڈنگ کے عام استعمال کیا ہیں؟

URL ڈیکوڈنگ ویب ڈویلپمنٹ کے بہت سے منظرناموں میں ضروری ہے:

  • فارم جمع کرانا: application/x-www-form-urlencoded GET اور POST ڈیٹا سے اصل فیلڈ ویلیوز واپس پڑھنا
  • API ڈویلپمنٹ: کسی API اینڈ پوائنٹ پر آنے والے فیصد انکوڈ شدہ پاتھ اور کوئری پیرامیٹرز کو کھولنا
  • فائل سسٹمز: ایسے فائل پاتھز اور نام بازیاب کرنا جو URL کے اندر سفر کرنے کے لیے فیصد انکوڈ کیے گئے تھے
  • لنکس ڈیبگ کرنا: شیئر یا لاگ شدہ URLs کو ڈیکوڈ کرنا تاکہ ان میں موجود خصوصی حروف اور بین الاقوامی متن دیکھا جا سکے

URL ڈیکوڈنگ کی مثال کیسی دکھتی ہے؟

URL ڈیکوڈنگ کی چند عام مثالیں یہ ہیں: %20 (یا +) واپس اسپیس بن جاتا ہے، %40 واپس @ بن جاتا ہے، %23 واپس # بن جاتا ہے، %26 واپس & بن جاتا ہے، اور %3D واپس = بن جاتا ہے۔ UTF-8 تسلسل جیسے %C3%A9 بین الاقوامی حرف é بن جاتا ہے۔

پرسنٹ انکوڈنگ کیا ہے؟

پرسنٹ انکوڈنگ وہ میکنزم ہے جو RFC 3986 §2.1 میں URI کے اندر غیر محفوظ یا محفوظ شدہ کرداروں کی نمائندگی کے لیے بیان کیا گیا ہے۔ اصول مکینیکل ہے: ہر وہ بائٹ جو لفظی طور پر نہیں آ سکتا، پرسنٹ کے نشان کے بعد دو ہیکسا ڈیسیمل ہندسوں کی شکل میں — %XX صورت — لکھا جاتا ہے، جہاں XX بائٹ کی قدر ہے۔ غیر ASCII حروف جیسے é پہلے ان کی UTF-8 بائٹ سیکوینس کے طور پر انکوڈ کیے جاتے ہیں، پھر ہر بائٹ کو الگ الگ پرسنٹ سے انکوڈ کیا جاتا ہے۔ ڈویلپرز کو اس کا سامنا تقریباً روزانہ ہوتا ہے: کوئری اسٹرنگز میں، فارم جمع کرنے میں، OAuth کال بیک یو آر ایلز میں، REST API پاتھ پیرامیٹرز میں، اور ہر اس جگہ جہاں URL کو رموز اوقاف، اسپیس یا غیر محفوظ سیٹ A–Z a–z 0–9 - _ . ~ سے باہر کے حروف لے جانے ہوں۔

%C3%A9 کو é میں ڈی کوڈ کرنا اصل میں کیسے کام کرتا ہے؟

انکوڈ شدہ کوئری اسٹرنگ ?q=caf%C3%A9&lang=fr لیں۔ ڈی کوڈنگ ?q=café&lang=fr پیدا کرتی ہے۔ یہ بائٹ در بائٹ تفصیل ہے:

  • ان پٹ: ?q=caf%C3%A9&lang=fr
  • آؤٹ پٹ: ?q=café&lang=fr
  1. %C3 → بائٹ 0xC3 (بائنری 11000011) — 2 بائٹ UTF-8 سیکوینس کا لیڈ بائٹ۔
  2. %A9 → بائٹ 0xA9 (بائنری 10101001) — کانٹینیویشن بائٹ۔ مل کر، C3 A9 U+00E9 کا UTF-8 انکوڈنگ ہے، یعنی é۔
  3. حروف ?، = اور & کو ہاتھ نہیں لگایا جاتا کیونکہ یہ ساختی ہیں — یہ کوئری اور اس کے کلید/قدر جوڑوں کو حد بند کرتے ہیں۔ لفظی caf بھی بغیر تبدیلی کے گزر جاتا ہے، کیونکہ چھوٹے ASCII حروف غیر محفوظ سیٹ سے تعلق رکھتے ہیں۔

decodeURIComponent اور decodeURI میں کیا فرق ہے؟

JavaScript دو بلٹ ان ڈی کوڈرز فراہم کرتا ہے، اور انہیں آپس میں الجھانا URL ہینڈلنگ کے سب سے عام بگز میں سے ایک ہے:

  • decodeURIComponent(str) ہر پرسنٹ انکوڈ شدہ سیکوینس کو ڈی کوڈ کرتا ہے، بشمول محفوظ شدہ حروف جیسے &، =، ?، / اور #۔ اسے انفرادی کوئری اسٹرنگ اقدار یا پاتھ سیگمنٹس پر استعمال کریں — کبھی پورے URL پر نہیں۔
  • decodeURI(str) جان بوجھ کر محتاط ہے: یہ محفوظ شدہ حروف کو چھوڑ دیتا ہے۔ اسے %26 دینے سے لفظی اسٹرنگ %26 واپس ملتی ہے، & نہیں۔ یہ مکمل URI کے لیے ہے جہاں آپ چاہتے ہیں کہ ساخت راؤنڈ ٹرپ میں سلامت رہے۔

ضابطۂ ڈیجیٹل: اگر اسٹرنگ URL کا ایک ٹکڑا ہے (ایک پیرامیٹر، ایک فریگمنٹ، انکوڈ شدہ فائل نام)، تو decodeURIComponent کا انتخاب کریں۔ یہ ٹول decodeURIComponent کی طرح برتاؤ کرتا ہے — آپ کی ان پٹ میں ہر %XX سیکوینس ڈی کوڈ کی جاتی ہے، بشمول محفوظ شدہ حروف۔

کسی URL کو ڈیکوڈ کرنا ہی وہ طریقہ ہے جس سے آپ جانتے ہیں کہ اس میں واقعی کیا ہے۔ اوپر ایک انکوڈ شدہ اسٹرنگ چسپاں کریں اور ہر %XX تسلسل آپ کے براؤزر میں فوری طور پر اپنے حرف میں تبدیل ہو جاتا ہے، تاکہ آپ کوئری پیرامیٹر ڈیبگ کر سکیں، OAuth ری ڈائریکٹ جانچ سکیں یا لہجے والے فائل نام کو بغیر کسی سرور پر کچھ بھیجے واپس حاصل کر سکیں۔