URL এনকোডার / ডিকোডার

টেক্সট লিখুন বা পেস্ট করুন, সঙ্গে সঙ্গেই URL এনকোডিং দেখা যায় — অথবা লিঙ্কের প্যারামিটার ছকে পড়ুন। বোতাম নেই, কিছু আপলোড হয় না।

কীভাবে ব্যবহার করবেন

  1. এনকোড, ডিকোড বা প্যারামিটার বেছে নিন — ইনপুট বাক্স আগের মতোই থাকে, তাই আবার লিখতে না করে একই টেক্সট দুই দিক থেকে দেখা যায়।
  2. এনকোড: টেক্সট লিখুন বা পেস্ট করুন, সঙ্গে সঙ্গেই পার্সেন্ট-এনকোড মান দেখা যায়। “কম্পোনেন্ট” (ডিফল্ট) একটি কুয়েরি মান বা পথ-অংশের ভেতরের জন্য; “পুরো URL”-এ : / ? & = # থেকে যায়, তাই পুরো ঠিকনা অক্ষত থাকে।
  3. ডিকোড: %E4%BD%A0… পেস্ট করে আসল টেক্সট পড়ুন। ফর্ম থেকে এলে “ফর্ম (+)” চালু করুন, ডাবল-এনকোড লিঙ্কে “বারবার ডিকোড” দিন (সর্বোচ্চ 10 স্তর, কয়টি হয়েছে তা দেখায়)।
  4. প্যারামিটার: পুরো URL বা কুয়েরি স্ট্রিং পেস্ট করলে প্রতিটি কী ও মান ডিকোড করা অবস্থায়, ডুপ্লিকেটসহ দেখা যায়। একটি মান কপি করুন, অথবা পুরো টেবিলটি key: value লাইন আকারে কপি করুন।

উদাহরণ

ইনপুট

Café & crème?

এনকোড করা

Caf%C3%A9%20%26%20cr%C3%A8me%3F

UTF-8-এ é দুটি বাইট, তাই একটি অক্ষর দুটি এস্কেপ হয় (%C3%A9); স্পেস %20, & হলো %26 আর ? হলো %3F। ডিকোড-এ গিয়ে ফলাফল পেস্ট করলে আসল টেক্সট ফের পান। প্যারামিটারে “?q=a+b&lang=en” দিলে q = “a b” (সেখানে + মানে স্পেস) আর lang = “en”。

নিয়ম, সীমাবদ্ধতা ও পরিচিত সমস্যা

  • শুধু UTF-8: কিছু টুলে দেখানো GBK, Shift_JIS, Latin-1 অন্য সেটগুলো সমর্থিত নয়, আর ক্যারেক্টার-সেট কখনো অনুমান করা হয় না। গোলমাল হওয়া মানে লিঙ্ক অন্য সেটে এনকোড হয়েছে।
  • এনকোড আগে-এনকোড টেক্সট চেনে না: %E4%BD%A0 হয়ে যায় %25E4%25BD%25A0। এস্কেপ ফের অক্ষর করতে ডিকোড ব্যবহার করুন।
  • ডিকোড কড়া: দুটি হেক্স অঙ্ক ছাড়া “%”, নাকি বৈধ নয় এমন UTF-8 বাইট পেলে “” বসানোর বদলে অবস্থানসহ ত্রুটি দেখায়।
  • “ফর্ম (+)” শুধু স্পেস বদলায়: এনকোডে %20 হয়ে যায় +; ডিকোডে + স্পেস হয়। লিটারেল প্লাস হলো %2B। প্যারামিটার মোডে + সবসময় স্পেস হিসেবে পড়া হয় — সার্ভারও কুয়েরি স্ট্রিং তেমনই পড়ে।
  • ফুল-উইথ স্পেস (U+3000, চীনা-জাপানি ইনপুটে প্রচলিত) হলো %E3%80%80, %20 নয়, আর ফর্ম (+) তাকে ছুঁয়েও না। ফুল-উইথ ও আরবি-ইন্ডিক অঙ্ক নিজস্ব বাইট হিসেবেই এনকোড হয় — কখনো ASCII অঙ্কে বদলায় না।
  • প্যারামিটার মোড শুধু পড়ে: আসল ক্রম আর সব ডুপ্লিকেট কী থেকে যায়, a[b]=c-এর নেস্টেড কী ভাঙে না, সাজায় না, #fragment অক্ষত রাখে (#?a=b হ্যাশ-রাউটও চলে)।
  • সর্বোচ্চ 100,000 অক্ষর; তার বেশি হলে ছাঁটা ফলের বদলে ত্রুটি দেখায়। 20,000-এর বেশি হলে লেখা থামার প্রায় 0.6 সেকেন্ড পরে ফল নতুন হয়।
  • কোনো ফাইল আপলোড, ইতিহাস বা আপনার ইনপুট-বহনকারী শেয়ার-লিঙ্ক নেই: সব আপনার ব্রাউজারেই চলে, টেক্সট পৃষ্ঠা ছাড়ে না।

মান এনকোড হলে বা লিঙ্কের অর্থ বোঝার পরে সাধারণত যা লাগে।