URL এনকোডার ও ডিকোডার
URL ও কোয়েরি স্ট্রিংয়ের জন্য টেক্সট percent-encode করুন, এনকোড করা URL ডিকোড করুন, এবং যেকোনো URL-কে অংশে ভাগ করে কোয়েরি প্যারামিটার ডিকোড করে দেখুন।
ব্রাউজারেই চলেসাইন-আপ লাগে নাকিছুই আপলোড হয় না
অংশসমূহ
কোয়েরি প্যারামিটার
URL এনকোড / ডিকোড কীভাবে ব্যবহার করবেন
- এনকোড বা ডিকোড বেছে নিন।
- এনকোড করার সময় বেছে নিন: একটি কোয়েরি মান বা পাথ অংশের জন্য কম্পোনেন্ট, URL-এর কাঠামো রাখতে সম্পূর্ণ URL, অথবা ফর্ম ডেটা, যা
application/x-www-form-urlencoded-এর জন্য। - আপনার টেক্সট পেস্ট করুন। ফলাফল সঙ্গে সঙ্গে দেখা যায়; ত্রুটিপূর্ণ escape তাদের অবস্থানসহ জানানো হয়।
- একটি সম্পূর্ণ URL URL পার্সার-এ পেস্ট করে এর হোস্ট, পাথ, ফ্র্যাগমেন্ট ও প্রতিটি কোয়েরি প্যারামিটার ডিকোড করা অবস্থায় দেখুন।
URL এনকোডিং কী?
URL-এ শুধু সীমিত কিছু ASCII অক্ষর থাকতে পারে (RFC 3986)। বাকি সবকিছু, যেমন স্পেস, ইংরেজি ছাড়া অন্য ভাষার অক্ষর এবং &, ? ও #-এর মতো বিশেষ অর্থবহ অক্ষর, প্রতিটি UTF-8 বাইটের জন্য একটি শতাংশ চিহ্ন ও তার পরে দুটি hex অঙ্ক হিসেবে লেখা হয়। একটি স্পেস হয় %20 আর é হয় %C3%A9।
encodeURIComponent বনাম encodeURI
| ফাংশন | যা অপরিবর্তিত রাখে | যে কাজে ব্যবহার করবেন |
|---|---|---|
encodeURIComponent | A-Z a-z 0-9 - _ . ~ | একটি কোয়েরি মান, পাথ অংশ বা প্যারামিটারের নাম |
encodeURI | এছাড়াও : / ? # [ ] @ ! $ & ' ( ) * + , ; = | একটি সম্পূর্ণ URL, যার কাঠামো অক্ষত থাকতে হবে |
কোয়েরি মানে encodeURI ব্যবহার করা একটি ক্লাসিক বাগ: মানের ভেতরের & এস্কেপ হয় না, ফলে প্যারামিটারটি দুই ভাগ হয়ে যায়। কঠোর RFC 3986 সামঞ্জস্যের জন্য এই টুলের কম্পোনেন্ট মোড ! ' ( ) *-ও এস্কেপ করে।
স্পেসের জন্য %20 নাকি +?
পাথে স্পেস অবশ্যই %20 হতে হবে। HTML ফর্ম সাবমিশনে (application/x-www-form-urlencoded) ও অনেক কোয়েরি স্ট্রিংয়ে স্পেস + হিসেবে লেখা হয়। ডিকোড করার সময় ফর্ম ডেটার জন্য + কে স্পেস হিসেবে ধরুন চালু করুন, আর আক্ষরিক প্লাস চিহ্ন গুরুত্বপূর্ণ হলে বন্ধ করুন, যেমন jane+test@example.com-এ।
সচরাচর জিজ্ঞাসিত প্রশ্ন
ডিকোড করার সময় “ত্রুটিপূর্ণ escape” আসে কেন?
%-এর পরে ঠিক দুটি hex অঙ্ক থাকতে হবে। “50% off”-এর মতো আক্ষরিক শতাংশ চিহ্ন %25 হিসেবে এনকোড করা উচিত ছিল। ত্রুটির বার্তায় ভুল সিকোয়েন্সের অবস্থান দেখানো হয়।“অবৈধ UTF-8 বাইট সিকোয়েন্স” মানে কী?
%C3%A9-এর বদলে %E9), অথবা স্ট্রিংটি কোনো অক্ষরের মাঝখানে কেটে গেছে।পুরো URL এনকোড করব নাকি শুধু প্যারামিটারগুলো?
= ও & দিয়ে জুড়ুন। কম্পোনেন্ট মোডে সম্পূর্ণ URL এনকোড করলে ://-ও এস্কেপ হয়ে URL ভেঙে যাবে।দুবার এনকোড করা কি সমস্যা?
%20 হয়ে যায় %2520। %25-এর পরে hex অঙ্ক দেখলে মানটি সম্ভবত দুবার এনকোড হয়েছে। মূলটি ফিরে পেতে দুবার ডিকোড করুন।