جدید اختیارات
+ کو خالی جگہوں میں تبدیل کریں
فعال ہونے پر، + حروف کو خالی جگہوں میں تبدیل کیا جائے گا۔ یہ استفسار پیرامیٹرز کو ڈی کوڈ کرتے وقت مفید ہے۔
لائیو موڈ
فعال ہونے پر، متن ٹائپ کرتے وقت خودکار طور پر ڈی کوڈ ہو جائے گا۔
یہ اختیارات آپ کو یہ کنٹرول کرنے میں مدد کرتے ہیں کہ آپ کے URLs میں انکوڈ شدہ حروف کیسے ڈی کوڈ ہوتے ہیں۔
URL ڈیکوڈنگ کیا ہے؟
URL ڈیکوڈنگ فیصد انکوڈنگ کو الٹا کرتی ہے: یہ کسی انکوڈ شدہ URL میں موجود %XX ایسکیپ تسلسلوں کو پڑھتی ہے اور انہیں دوبارہ اُن حروف میں بدل دیتی ہے جن کی وہ نمائندگی کرتے ہیں۔ اسی طرح آپ کسی براؤزر، API یا لاگ لائن کے دیے ہوئے انکوڈ شدہ URL سے کوئری اسٹرنگ، فارم ویلیو یا پاتھ سیگمنٹ کو قابلِ مطالعہ شکل میں واپس حاصل کرتے ہیں۔
URL ڈیکوڈنگ کیسے کام کرتی ہے؟
URL ڈیکوڈنگ فیصد میں انکوڈ شدہ تسلسلوں کو ان کے اصل حروف میں واپس تبدیل کرنے کے لیے ایک مخصوص عمل کی پیروی کرتی ہے:
- ان پٹ سٹرنگ میں فیصد-انکوڈ شدہ ایسکیپ سلسلوں (%XX) کی تلاش کی جاتی ہے
- ہر %XX کو اس کے دو ہیکساڈیسیمل ہندسوں سے واپس اصل بائٹ قدر میں تبدیل کیا جاتا ہے
- متواتر ڈیکوڈ شدہ بائٹس کو UTF-8 حروف میں دوبارہ جوڑا جاتا ہے (ایک ملٹی بائٹ سلسلہ ایک حرف بن جاتا ہے)
- کوئری سٹرنگ سیاق میں، + کو خالی جگہ کے طور پر ڈیکوڈ کیا جاتا ہے (application/x-www-form-urlencoded)، جبکہ %2B لفظی + رہتا ہے
- غیر محفوظ حروف اور پہلے سے ڈیکوڈ شدہ متن بغیر تبدیلی کے گزر جاتے ہیں
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
%C3→ بائٹ0xC3(بائنری11000011) — 2 بائٹ UTF-8 سیکوینس کا لیڈ بائٹ۔%A9→ بائٹ0xA9(بائنری10101001) — کانٹینیویشن بائٹ۔ مل کر،C3 A9U+00E9 کا UTF-8 انکوڈنگ ہے، یعنیé۔- حروف
?،=اور&کو ہاتھ نہیں لگایا جاتا کیونکہ یہ ساختی ہیں — یہ کوئری اور اس کے کلید/قدر جوڑوں کو حد بند کرتے ہیں۔ لفظیcafبھی بغیر تبدیلی کے گزر جاتا ہے، کیونکہ چھوٹے ASCII حروف غیر محفوظ سیٹ سے تعلق رکھتے ہیں۔
decodeURIComponent اور decodeURI میں کیا فرق ہے؟
JavaScript دو بلٹ ان ڈی کوڈرز فراہم کرتا ہے، اور انہیں آپس میں الجھانا URL ہینڈلنگ کے سب سے عام بگز میں سے ایک ہے:
decodeURIComponent(str)ہر پرسنٹ انکوڈ شدہ سیکوینس کو ڈی کوڈ کرتا ہے، بشمول محفوظ شدہ حروف جیسے&،=،?،/اور#۔ اسے انفرادی کوئری اسٹرنگ اقدار یا پاتھ سیگمنٹس پر استعمال کریں — کبھی پورے URL پر نہیں۔decodeURI(str)جان بوجھ کر محتاط ہے: یہ محفوظ شدہ حروف کو چھوڑ دیتا ہے۔ اسے%26دینے سے لفظی اسٹرنگ%26واپس ملتی ہے،&نہیں۔ یہ مکمل URI کے لیے ہے جہاں آپ چاہتے ہیں کہ ساخت راؤنڈ ٹرپ میں سلامت رہے۔
ضابطۂ ڈیجیٹل: اگر اسٹرنگ URL کا ایک ٹکڑا ہے (ایک پیرامیٹر، ایک فریگمنٹ، انکوڈ شدہ فائل نام)، تو decodeURIComponent کا انتخاب کریں۔ یہ ٹول decodeURIComponent کی طرح برتاؤ کرتا ہے — آپ کی ان پٹ میں ہر %XX سیکوینس ڈی کوڈ کی جاتی ہے، بشمول محفوظ شدہ حروف۔
کسی URL کو ڈیکوڈ کرنا ہی وہ طریقہ ہے جس سے آپ جانتے ہیں کہ اس میں واقعی کیا ہے۔ اوپر ایک انکوڈ شدہ اسٹرنگ چسپاں کریں اور ہر %XX تسلسل آپ کے براؤزر میں فوری طور پر اپنے حرف میں تبدیل ہو جاتا ہے، تاکہ آپ کوئری پیرامیٹر ڈیبگ کر سکیں، OAuth ری ڈائریکٹ جانچ سکیں یا لہجے والے فائل نام کو بغیر کسی سرور پر کچھ بھیجے واپس حاصل کر سکیں۔