কোড

URL এনকোডার ও ডিকোডার গাইড: শতাংশ এনকোডিং, স্পেস ও UTF-8

ToolMellow ·

URL এনকোডিং নির্দিষ্ট বাইটকে শতাংশ এস্কেপে প্রকাশ করে, যাতে লেখা URL-এর নির্ধারিত অংশ বা ফর্মের মানে ব্যবহার করা যায়। ToolMellow-তে তিনটি ধরন আছে: URL অংশ, ফর্মের মান ও সম্পূর্ণ URL। লেখা পেস্ট করুন, ধরন বেছে এনকোড করুন বা ডিকোড করুন চাপুন। রূপান্তর স্থানীয়ভাবে চলে; ঠিকানা খোলা, আনা বা যাচাই করা হয় না।

সঠিক ফল লেখাটি কোথায় ব্যবহার হবে তার ওপর নির্ভর করে। একটি কুয়েরির মান, পুরো কুয়েরি স্ট্রিং ও আগেই তৈরি URL আলাদা ইনপুট। এই গাইডে নির্ভুল উদাহরণ, UTF-8 ও সাধারণ ত্রুটি ব্যাখ্যা করা হয়েছে, যাতে বিভাজক বদলানো বা চাওয়ার চেয়ে বেশি স্তর ডিকোড করা এড়াতে পারেন। উদাহরণের ঠিকানা ও ফল শুধু ব্যাখ্যার জন্য, আনা কোনো রিসোর্স নয়।

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

URL লেখা এনকোড বা ডিকোড করার পদ্ধতি

URL এনকোডার ও ডিকোডার খুলে যে পুরো মান বদলাবেন তা পেস্ট করুন। “এনকোডিংয়ের ধরন”-এ “URL অংশ (ফাঁকা স্থানের জন্য %20)”, “ফর্মের মান (ফাঁকা স্থানের জন্য +)” বা “সম্পূর্ণ URL (বিভাজক রাখুন)” বেছে নিন। এনকোড করুন ও ডিকোড করুন পুরো এডিটরের ইনপুটে কাজ করে; শুধু টাইপ করলে রূপান্তর হয় না।

ফলাফল কপি করুন বা ডাউনলোড করুন ব্যবহারের আগে আউটপুট পড়ুন। ফলাফল ইনপুট হিসেবে ব্যবহার করুন দিয়ে ইনপুটের সীমায় থাকা ফলে আরেকটি কাজ করতে পারেন। ইনপুট বা এনকোডিংয়ের ধরন বদলালে পুরোনো ফল মুছে যায়। লাইন মোড়ানো শুধু দৃশ্যের মোড়ানো বদলায়; নতুন লাইন ঢোকায় না বা শতাংশ এস্কেপ বদলায় না।

  • একটি কুয়েরির মান বা পথের অংশের জন্য অংশ ধরন নিন, পুরো গঠিত কুয়েরি এনকোড করবেন না।
  • গ্রহণকারী বিন্যাস application/x-www-form-urlencoded মানের নিয়ম চাইলে তবেই ফর্মের মান ধরন ব্যবহার করুন।
  • আগেই তৈরি ঠিকানার বিভাজক অর্থপূর্ণ রাখা দরকার হলে সম্পূর্ণ URL ধরন ভাবুন; এটি তবুও URL পার্সার বা যাচাইকারী নয়।

অংশ, ফর্মের মান বা সম্পূর্ণ URL বেছে নিন

অংশ এনকোড করলে মানের সংরক্ষিত যতিচিহ্ন URL-এর কাঠামো হিসেবে কাজ করতে পারে না। ফর্মের মান ধরন একটি মানের জন্য ফর্ম-এনকোডিং নিয়ম ব্যবহার করে এবং প্যারামিটারের নাম ফেরত দেয় না। সম্পূর্ণ URL ধরন লেখায় কোলন, স্ল্যাশ, প্রশ্নচিহ্ন, অ্যাম্পারস্যান্ড, সমান চিহ্ন ও ফ্র্যাগমেন্ট চিহ্নের মতো বিভাজক রাখে।

সবচেয়ে ছোট ফল দেখে নয়, গ্রহণকারী অ্যাপ অনুযায়ী ধরন বাছুন। পুরো কুয়েরি একটি মান হিসেবে এনকোড করা বা মানের ভেতরে বিভাজক খোলা রাখা অর্থ বদলাতে পারে। এই টুল পেস্ট করা কুয়েরিকে নাম/মান জোড়ায় ভাগ করে না বা কোন অংশ হোস্ট, পথ, কুয়েরি বা ফ্র্যাগমেন্ট তা ঠিক করে না।

অংশ, ফর্মের মান বা সম্পূর্ণ URL বেছে নিন
ধরনউপযোগী ইনপুটবাস্তবায়নের সীমা
URL অংশএকটি কুয়েরির মান বা পথের অংশসংরক্ষিত যতিচিহ্ন এস্কেপ; পাঁচ চিহ্নের অতিরিক্ত কঠোর এস্কেপিং
ফর্মের মানএকটি ফর্ম-এনকোড মানURLSearchParams এনকোডিং; ডিকোড আগে আক্ষরিক + বদলে কঠোর শতাংশ ডিকোড করে
সম্পূর্ণ URLআগেই তৈরি ঠিকানাencodeURI/decodeURI; নিজস্ব সংরক্ষিত গোষ্ঠী, সম্পূর্ণ URL যাচাই নয়

RFC 3986: URI গঠন, অসংরক্ষিত অক্ষর ও শতাংশ এনকোডিংWHATWG URL: ফর্ম URL-এনকোড পার্সিং ও সিরিয়ালাইজেশনECMAScript: encodeURI ও decodeURI

শতাংশ এনকোডিং বাইটের সঙ্গে কী করে

শতাংশ এস্কেপে শতাংশ চিহ্নের পরে দুটি হেক্সাডেসিমাল অঙ্ক থাকে, যা একটি বাইট বোঝায়। Unicode অক্ষরের জন্য একাধিক UTF-8 বাইট লাগতে পারে, তাই একটি দৃশ্যমান অক্ষরে একাধিক এস্কেপ থাকতে পারে। ASCII স্পেসের হেক্সাডেসিমাল মান 20, যা অংশ ও সম্পূর্ণ URL এনকোডিংয়ে %20; ফর্ম এনকোডিং সেই স্পেসকে + দিয়ে প্রকাশ করে।

এই স্থির উদাহরণগুলো দেখায় কেন ধরন গুরুত্বপূর্ণ। আক্ষরিক যোগ চিহ্ন ও এনকোড করা স্পেস আলাদা মান। তৃতীয় সারির স্ল্যাশ ও কুয়েরির যতিচিহ্ন এক ক্ষেত্রে অংশের ডেটা, আর সম্পূর্ণ URL ধরনে কাঠামোগত অক্ষর থাকে। কোনো কাজেই ঠিকানায় অনুরোধ পাঠানো হয় না।

শতাংশ এনকোডিং বাইটের সঙ্গে কী করে
ইনপুট লেখাঅংশের ফলফর্মের মানের ফলসম্পূর্ণ URL-এর ফল
a b+ca%20b%2Bca+b%2Bca%20b+c
cafécaf%C3%A9caf%C3%A9caf%C3%A9
a/b?x=1#parta%2Fb%3Fx%3D1%23parta%2Fb%3Fx%3D1%23parta/b?x=1#part
~*~%2A%7E*~*
😀%F0%9F%98%80%F0%9F%98%80%F0%9F%98%80

RFC 3986: URI গঠন, অসংরক্ষিত অক্ষর ও শতাংশ এনকোডিংWHATWG Encoding: UTF-8 ও লেখা ডিকোডিংWHATWG URL: ফর্ম URL-এনকোড পার্সিং ও সিরিয়ালাইজেশনECMAScript: encodeURI ও decodeURI

অংশ ধরন ও কঠোর এস্কেপিং

ToolMellow-র অংশ এনকোডিং encodeURIComponent ব্যবহার করে এবং অতিরিক্তভাবে !, একক উদ্ধৃতি চিহ্ন, (, ) ও * এস্কেপ করে। আক্ষরিক থাকা ASCII গোষ্ঠী হলো অক্ষর, সংখ্যা ও -._~। এটি মূল encodeURIComponent-এর চেয়ে RFC 3986-এর অসংরক্ষিত গোষ্ঠীর কাছাকাছি; মূল ফাংশন ওই পাঁচটি অতিরিক্ত চিহ্ন অপরিবর্তিত রাখে।

উদাহরণে red&blue=1 মান হয় red%26blue%3D1। এটিকে প্যারামিটারের মান হিসেবে দেওয়া যায়, ভেতরের অ্যাম্পারস্যান্ডকে আরেকটি কুয়েরি বিভাজক না বানিয়ে। অংশ ডিকোডিং decodeURIComponent ব্যবহার করে: শতাংশ-এনকোড সংরক্ষিত অক্ষর ডিকোড হয়, আর আক্ষরিক + যোগ চিহ্ন থাকে। এটি কুয়েরির জোড়া পার্স করে না বা পুরো URL স্বাভাবিকীকরণ করে না।

RFC 3986: URI গঠন, অসংরক্ষিত অক্ষর ও শতাংশ এনকোডিংECMAScript: encodeURIComponent ও decodeURIComponent

ফর্মের মান: যোগ চিহ্ন, স্পেস, টিল্ড ও তারকা

ফর্মের মান এনকোডিং একটি মানের URLSearchParams সিরিয়ালাইজেশন অনুসরণ করে। স্পেস হয় +, আক্ষরিক যোগ চিহ্ন হয় %2B, আর আক্ষরিক তারকা থাকে। টিল্ড হয় %7E। এই পার্থক্য স্বাভাবিক: ফর্ম এনকোডিংয়ের নিজস্ব অনুমোদিত গোষ্ঠী আছে, যা অংশ ধরনের গোষ্ঠীর পুরো সমান নয়।

ডিকোডিং আগে আক্ষরিক যোগ চিহ্ন স্পেসে বদলায়, তারপর কঠোর decodeURIComponent চালায়। তাই a+b%2Bc হয় a b+c: প্রথম বদলের পরে %2B যোগ চিহ্ন হয়, আর দ্বিতীয় স্পেসে বদলায় না। এটি মান ডিকোডার, ভুল সহনশীল URLSearchParams কুয়েরি পার্সার নয়। ত্রুটিপূর্ণ এস্কেপ ও অবৈধ শতাংশ-এনকোড UTF-8 মেরামত না হয়ে ব্যর্থ হয়।

WHATWG URL: ফর্ম URL-এনকোড পার্সিং ও সিরিয়ালাইজেশনECMAScript: encodeURIComponent ও decodeURIComponent

সম্পূর্ণ URL ধরন বিভাজক ও নিজস্ব সংরক্ষিত এস্কেপ রাখে

সম্পূর্ণ URL এনকোডিং encodeURI ব্যবহার করে। তৈরি ঠিকানার বিভাজক রাখে, আর স্পেস ও অন্য প্রয়োজনীয় লেখা এস্কেপ করে। যেমন https://example.com/a b?q=a+b#part হয় https://example.com/a%20b?q=a+b#part। এই ধাপে যোগ চিহ্ন থাকে; পরে অ্যাপ কুয়েরি কীভাবে পার্স করবে তা আলাদা ধাপ।

সম্পূর্ণ URL ডিকোডিং decodeURI ব্যবহার করে, যা তার নিজস্ব সংরক্ষিত গোষ্ঠী ;/?:@&=+$,#-এর এস্কেপ রাখে। যেমন %2F, %26 ও %23 এস্কেপ থাকে, আর %20 স্পেস হয়। এই পুরোনো গোষ্ঠীতে RFC 3986-এর সব সংরক্ষিত অক্ষর নেই: %5B ও %5D বর্গবন্ধনী হয়, আর সম্পূর্ণ URL এনকোডিং আক্ষরিক বর্গবন্ধনী শতাংশ-এস্কেপ করে। এই ধরন URL পার্স, হোস্ট বা স্কিম যাচাই, IPv6 হোস্ট স্বাভাবিকীকরণ, IDNA দিয়ে ডোমেইন রূপান্তর বা ঠিকানা আনে না।

ECMAScript: encodeURI ও decodeURIWHATWG URL: URL পার্সিং, হোস্ট ও URLSearchParamsRFC 3986: URI গঠন, অসংরক্ষিত অক্ষর ও শতাংশ এনকোডিং

UTF-8, Unicode ও কাঁচা ইনপুটের পার্থক্য

যেসব অক্ষরের এস্কেপ দরকার, এনকোডিং তাদের UTF-8 বাইট শতাংশ-এস্কেপ করে। café-র শেষ অক্ষরে দুটি UTF-8 বাইট লাগে, যা %C3%A9; ইমোজি 😀 চার বাইট ব্যবহার করে। এডিটরের সীমা JavaScript UTF-16 কোড ইউনিট গোনে, তাই বাইটের দৈর্ঘ্য, কোড ইউনিটের দৈর্ঘ্য ও দৃশ্যমান অক্ষরের সংখ্যা সমান হওয়া জরুরি নয়। এই রূপান্তর Unicode লেখা স্বাভাবিকীকরণ করে না।

প্রতিটি এনকোডিং ধরন জোড়াবিহীন Unicode সারোগেট প্রত্যাখ্যান করে। সম্পূর্ণ URL ডিকোডিংও আগে কাঁচা ইনপুট সুগঠিত Unicode কি না দেখে। অংশ ও ফর্ম ডিকোডিং কাঁচা স্ট্রিংয়ের সেই আলাদা পরীক্ষা করে না: এস্কেপ না করা আক্ষরিক কোড ইউনিট অপরিবর্তিত যেতে পারে, কিন্তু শতাংশ-এনকোড বাইট ক্রম অবশ্যই বৈধ UTF-8 হতে হবে। সফল ডিকোডিংকে প্রতিটি আক্ষরিক অক্ষরের সাধারণ যাচাই বা নিরাপদ URL হিসেবে ধরবেন না।

ECMAScript: encodeURIComponent ও decodeURIComponentECMAScript: encodeURI ও decodeURIECMAScript: String isWellFormedWHATWG Encoding: UTF-8 ও লেখা ডিকোডিং

ত্রুটিপূর্ণ এস্কেপ, অবৈধ UTF-8 ও অপ্রত্যাশিত ফল

প্রতিটি শতাংশ চিহ্নের পরে ঠিক দুটি হেক্সাডেসিমাল অঙ্ক চাই এবং এস্কেপ বাইট ক্রমকে ডিকোডারের UTF-8 নিয়ম মানতে হবে। এনকোড করতে চাওয়া আক্ষরিক শতাংশ চিহ্ন হয় %25; ডিকোডিং ইনপুটের একা শতাংশ চিহ্ন ত্রুটি। টুল নীরবে ফাঁকা স্থান ছাঁটে না বা পড়ার মতো হওয়া পর্যন্ত বারবার ডিকোড করে না।

অক্ষর বদলানোর আগে ধরন ও পুরো মূল মান দেখুন। কাঁচা স্পেস বা নতুন লাইনও ইনপুট ডেটা, তাই এনকোডিং বদলাতে পারে। HTML অ্যাট্রিবিউট, উদ্ধৃতির ভেতর JSON স্ট্রিং বা পুরো রিকোয়েস্ট বডি কপি করলে সেই বাইরের বিন্যাস আলাদা পার্স করুন। তার বিভাজক ও এস্কেপ নিয়ম নিজে থেকেই শতাংশ-এনকোডিং নিয়ম হয় না।

ত্রুটিপূর্ণ এস্কেপ, অবৈধ UTF-8 ও অপ্রত্যাশিত ফল
ইনপুট বা লক্ষণকারণপরের উপযোগী ধাপ
% বা %2অসম্পূর্ণ শতাংশ এস্কেপকপি করা পুরো মান দেখুন
%GGএস্কেপের অঙ্ক হেক্সাডেসিমাল নয়মূল প্রস্তুতকারী দেখুন
%FFএস্কেপ বাইট বৈধ UTF-8 নয়প্রত্যাশিত অক্ষর এনকোডিং বা বাইনারি দায়রা জানুন
অংশ ধরনে a+b যোগ চিহ্ন থাকেএখানে আক্ষরিক যোগ চিহ্ন স্পেস নয়গ্রহণকারী চাইলে তবেই ফর্মের মান ধরন নিন
সম্পূর্ণ ডিকোড %2F রাখেdecodeURI সংরক্ষিত বিভাজক রাখেউপযুক্ত আলাদা মানে অংশ ডিকোডিং ব্যবহার করুন

ECMAScript: encodeURIComponent ও decodeURIComponentECMAScript: encodeURI ও decodeURIRFC 3986: URI গঠন, অসংরক্ষিত অক্ষর ও শতাংশ এনকোডিং

%25 কেন আসে এবং দ্বিতীয় ডিকোড কখন ভুল

আগেই এনকোড করা শতাংশ চিহ্ন এনকোড করলে আরেক স্তর হয়: অংশ এনকোডিং %2F-কে %252F করে। %252F-এর একবার অংশ ডিকোড %2F দেয়; দ্বিতীয়বার / দেয়। প্রতিটি ধাপ এক স্তর বদলায়। শুধু %25 দেখে বাগ প্রমাণ হয় না, কারণ অ্যাপ ইচ্ছা করে অন্য মানে এনকোড লেখা বহন করতে পারে।

যতিচিহ্ন দেখা পর্যন্ত বারবার ডিকোড না করে অ্যাপের দরকারি স্তর চিহ্নিত করুন। দ্বিতীয় অংশ ডিকোড ডেটাকে কাঠামোগত স্ল্যাশ বা বিভাজক করতে পারে। সম্পূর্ণ URL ডিকোডিং এমন এস্কেপ বিভাজক ইচ্ছা করে রাখতে পারে, তাই অংশের উদাহরণ মানে সব ধরন বারবার সব এস্কেপ সরায় নয়। টুল অ্যাপের রাউটিং বা অনুমোদনের নিয়ম জানে না।

RFC 3986: URI গঠন, অসংরক্ষিত অক্ষর ও শতাংশ এনকোডিংECMAScript: encodeURIComponent ও decodeURIComponentECMAScript: encodeURI ও decodeURI

কুয়েরি স্ট্রিং, পথের অংশ ও অ্যাপে নিরাপদ ব্যবহার

কুয়েরি প্যারামিটারের নাম ও কুয়েরির কাঠামো মান থেকে আলাদা রাখুন। URL ও URLSearchParams-এর মতো URL তৈরির API বাস্তব ঠিকানা গঠন ও সিরিয়ালাইজ করতে সাহায্য করতে পারে। এই টুল শুধু দেওয়া লেখা বদলায়; হোস্টনাম যাচাই, লিংক ছোট, রিডাইরেক্ট অনুসরণ বা অ্যাপ কোন স্কিম অনুমোদন করবে তা নির্ধারণ করে না।

শতাংশ এনকোডিং উল্টানো যায় এমন উপস্থাপন, এনক্রিপশন, হ্যাশিং, HTML এস্কেপিং বা অনুমোদন নয়। বিপজ্জনক স্কিম এনকোড করলে লিংক বিশ্বস্ত হয় না, আর মান ডিকোড করলে তা HTML বা চলমান কোডে ঢোকানো নিরাপদ হয় না। গন্তব্যের প্রসঙ্গ অনুযায়ী যাচাই ও এস্কেপিং নিয়ম প্রয়োগ করুন এবং ভাগ করা উদাহরণ URL-এ আসল গোপন তথ্য রাখবেন না।

WHATWG URL: URL পার্সিং, হোস্ট ও URLSearchParamsWHATWG URL: ফর্ম URL-এনকোড পার্সিং ও সিরিয়ালাইজেশনRFC 3986: URI গঠন, অসংরক্ষিত অক্ষর ও শতাংশ এনকোডিং

ইনপুটের সীমা, আউটপুটের বৃদ্ধি ও স্থানীয় টেক্সট ফাইল

ইনপুটের সীমা 1,000,000 UTF-16 কোড ইউনিট, দশ লক্ষ UTF-8 বাইট বা দৃশ্যমান গ্রাফিম নয়। এস্কেপিং ফল বড় করতে পারে: দশ লক্ষ ASCII স্পেস অংশ ধরনে ত্রিশ লক্ষ অক্ষর দেয়। ইনপুট সীমার চেয়ে বড় ফলও কপি ও ডাউনলোড হয়, কিন্তু ফলাফল ইনপুট হিসেবে ব্যবহার করুন অতিরিক্ত বড় ফল লোড করতে পারে না। ব্রাউজারের উপলব্ধ মেমরিও বাস্তব সীমা।

স্থানীয় ফাইল খোলার সময় File.text() দিয়ে UTF-8 লেখা পড়া হয়। 4,000,000 বাইট বা বড় ফাইল প্রত্যাখ্যাত হয়; পড়া লেখা 1,000,000 UTF-16 ইউনিটের বেশি হলেও প্রত্যাখ্যাত হয়। সাধারণ পাঠ শুরুতে UTF-8 BOM সরায় ও ত্রুটিপূর্ণ UTF-8 ক্রম বদলায়, তাই এটি বাইট-নির্ভুল বাইনারি এনকোডিং বা যেকোনো অক্ষর গোষ্ঠীর ডিকোডিং নয়। ফাইলের এক্সটেনশন তার এনকোডিং প্রমাণ করে না।

W3C File API: Blob লেখা পড়াWHATWG Encoding: UTF-8 ও লেখা ডিকোডিংECMAScript: String isWellFormed

কপি, টেক্সট ডাউনলোড, মোছা ও গোপনীয়তা

ডাউনলোড করুন ফলকে toolmellow-result.txt-এ UTF-8 লেখা হিসেবে রাখে, রিকোয়েস্ট, রিপোর্ট বা খোলা ওয়েবপেজ নয়। সফল খালি রূপান্তরও ফলাফল কপি করুন ও ডাউনলোড করুন সক্রিয় রাখে। ক্লিপবোর্ড না পেলে ফল বেছে হাতে কপি করুন। সহজ পরীক্ষায় জানা লেখা এনকোড করুন, সীমায় থাকলে ফল আবার ব্যবহার করুন, তারপর একই ধরনে ডিকোড করুন।

মুছুন ইনপুট, ফল, ত্রুটি, খোঁজা/বদলানোর লেখা ও এডিটরের ইতিহাস রিসেট করে, এনকোডিংয়ের ধরন ও লাইন মোড়ানো রাখে। কাজের লেখা পৃষ্ঠার মেমরিতে থাকে, অ্যাকাউন্ট ইতিহাসে নয়। রিফ্রেশ বা বন্ধে কাজের অবস্থা ফেলে দেওয়া হয়; ডাউনলোড ফাইল ডিভাইসে থাকে। মোছা ব্রাউজার বা অপারেটিং সিস্টেমের মেমরি থেকে সব উদ্ধারযোগ্য চিহ্ন সরানোর নিশ্চয়তা নয়।

রূপান্তর স্থানীয় ব্রাউজার ওয়ার্কারে চলে এবং দেওয়া URL লেখা, নির্বাচিত ফাইলের বিষয়বস্তু বা ফল রূপান্তর সার্ভারে পাঠায় না। সাইট লোডে হোস্টিংয়ে সাধারণ অনুরোধের মেটাডেটা যায় এবং Google Analytics পেজ ভিজিটে কুকি ও ব্রাউজার/ডিভাইস তথ্য ব্যবহার করে। স্থানীয় রূপান্তর মানে নামহীনতা, শূন্য ট্র্যাফিক বা পরিকাঠামোতে শূন্য লগ নয়; সাইটের গোপনীয়তা পৃষ্ঠা পড়ুন।

ব্যাকলিংকসহ URL এনকোডার ও ডিকোডার এমবেড করুন

পৃষ্ঠার ভাষা বাছুন এবং কাজের অংশের নিচে ইন্টিগ্রেশন খুলুন। দেওয়া HTML কোড কপি বা ডাউনলোড করে এমন ওয়েবসাইট অঞ্চলে দিন, যেখানে বাইরের iframe ও স্ক্রিপ্ট অনুমোদিত। এতে ToolMellow-এর কাজের iframe, আকার নির্ধারণের স্ক্রিপ্ট এবং একই ভাষার ToolMellow টুল পৃষ্ঠার দৃশ্যমান ব্যাকলিংক আছে। কৃতিত্বের লিংকটি রাখুন।

সরু পর্দায় এমবেডের প্রিভিউ দেখুন এবং প্ল্যাটফর্মে ক্লিপবোর্ড অনুমতি ও বাইরের রিসোর্স সমর্থন নিশ্চিত করুন। এমবেডে একই তিন ধরন, লেখার দায়রা ও সীমা আছে; এটি সার্ভার রূপান্তর API বা URL আনার পরিষেবা নয়। দেওয়া লিংকে nofollow ও noopener আছে, তাই এর উপস্থিতি উচ্চতর সার্চ র‍্যাঙ্কিংয়ের নিশ্চয়তা দেয় না।

সাধারণ প্রশ্ন

URL-এর জন্য লেখা কীভাবে এনকোড করব?

গন্তব্যের ধরন নিন: আলাদা মান বা পথের অংশে URL অংশ, ফর্ম সিরিয়ালাইজেশনে ফর্মের মান, বিভাজক রাখতে চাওয়া তৈরি ঠিকানায় সম্পূর্ণ URL। লেখা পেস্ট করে এনকোড করুন চাপুন। টুল ঠিকানা খোলে না।

URL-এ এনকোড করা মান কীভাবে ডিকোড করব?

মিল থাকা ধরন নিয়ে ডিকোড করুন চাপুন। অংশ ও ফর্ম কঠোরভাবে শতাংশ-এনকোড UTF-8 ডিকোড করে; ফর্ম আগে আক্ষরিক যোগ চিহ্নও স্পেস করে। সম্পূর্ণ ধরন নিজস্ব সংরক্ষিত গোষ্ঠীর এস্কেপ রাখে। এটি কুয়েরিকে জোড়ায় পার্স করে না।

URL-এ যোগ চিহ্ন কখন স্পেস বোঝায়?

এই টুলে শুধু ফর্মের মান ডিকোডিং আক্ষরিক যোগ চিহ্নকে স্পেস করে। অংশ ও সম্পূর্ণ URL ডিকোডিং আক্ষরিক যোগ চিহ্ন রাখে। application/x-www-form-urlencoded পার্সিংয়ের নিজস্ব যোগ চিহ্নের নিয়ম আছে, প্রতিটি URL অংশে সাধারণভাবে নয়।

%20 ও + এর পার্থক্য কী?

%20 ASCII স্পেস বাইটের শতাংশ এস্কেপ। ফর্ম সিরিয়ালাইজেশন স্পেসের জন্য যোগ চিহ্ন ও আক্ষরিক যোগ চিহ্নের জন্য %2B নেয়। গ্রহণকারী বিন্যাস ঠিক করে যোগ চিহ্ন স্পেস বোঝাবে কি না।

সম্পূর্ণ URL ডিকোডিং কেন %2F অপরিবর্তিত রাখে?

সম্পূর্ণ ধরন decodeURI দিয়ে নিজস্ব গোষ্ঠী ;/?:@&=+$,#-এর এস্কেপ রাখে, যেমন স্ল্যাশ, অ্যাম্পারস্যান্ড ও ফ্র্যাগমেন্ট চিহ্ন। এতে RFC 3986-এর সব সংরক্ষিত অক্ষর নেই: বর্গবন্ধনীর এস্কেপ বর্গবন্ধনী হয়। অংশ ধরন ওই বিভাজক এস্কেপও ডিকোড করে। ঠিকানার নির্ধারিত অংশ অনুযায়ী নিন; সম্পূর্ণ ধরনকে IPv6 হোস্ট স্বাভাবিকীকরণে ব্যবহার করবেন না।

এটি encodeURIComponent থেকে কীভাবে আলাদা?

ToolMellow অংশ ধরন অতিরিক্ত বিস্ময়চিহ্ন, একক উদ্ধৃতি, বন্ধনী ও তারকা এস্কেপ করে। শুধু অক্ষর, সংখ্যা ও -._~ আক্ষরিক থাকে। ফর্ম ও সম্পূর্ণ ধরন আলাদা সিরিয়ালাইজেশন নিয়ম নেয়; বিনিময়যোগ্য নাম নয়।

URL ডিকোডিং ব্যর্থ হয় কেন?

অসম্পূর্ণ বা অ-হেক্সাডেসিমাল এস্কেপ ও অবৈধ শতাংশ-এনকোড UTF-8 ত্রুটি দেয়। মূল মান, দরকারি ধরন ও বাইরের বিন্যাস দেখুন। টুল ভুল এস্কেপ মেরামত বা নীরবে অন্য অক্ষর এনকোডিং বেছে নেয় না।

ডিকোডিংয়ে কি টুল সবসময় Unicode যাচাই করে?

না। সম্পূর্ণ URL ডিকোডিং কাঁচা ইনপুট সুগঠিত Unicode কি না দেখে; অংশ/ফর্ম ডিকোডিং এস্কেপ না করা আক্ষরিক কোড ইউনিট আলাদা যাচাই করে না। শতাংশ-এনকোড বাইট ক্রম কঠোরভাবে UTF-8 হিসেবে ডিকোড হয়। সফল ডিকোডিং সম্পূর্ণ URL যাচাই নয়।

আমার URL-এ %25 কেন আছে?

%25 শতাংশ চিহ্ন বোঝায়। এনকোড লেখা আবার এনকোড হলে আসতে পারে, যেমন অংশ ধরনে %2F থেকে %252F। প্রত্যাশিত স্তর জানুন; বারবার ডিকোড ডেটাকে কাঠামোগত যতিচিহ্ন বানাতে পারে।

পুরো কুয়েরি স্ট্রিং ফর্মের মানে পেস্ট করা যায়?

টুল এটি একটি মান ধরে, প্যারামিটার জোড়ার ক্রম নয়। এনকোডিং সেই মানের বিভাজক এস্কেপ করে; ডিকোডিং নাম ও মান বের করে না। সম্পূর্ণ কুয়েরির কাঠামোতে উপযুক্ত URL/কুয়েরি পার্সার নিন।

স্থানীয় ফাইল এনকোড বা বড় ফল আবার ব্যবহার করা যায়?

ফাইল কন্ট্রোল 4,000,000 বাইটের চেয়ে ছোট ফাইল থেকে UTF-8 লেখা পড়ে এবং সর্বোচ্চ 1,000,000 UTF-16 ইনপুট ইউনিট গ্রহণ করে। এটি কাঁচা বাইনারি ফাইল এনকোডিং নয়। ফল বড় হলেও কপি/ডাউনলোড হয়, কিন্তু সীমার বড় ফল ইনপুট হতে পারে না।

URL এনকোডিং কি এনক্রিপশন?

না। শতাংশ এনকোডিং উল্টানো যায় এমন উপস্থাপন; গোপনীয়তা বা অনুমোদন যোগ করে না। এটি হ্যাশিং, HTML এস্কেপিং বা URL নিরাপদ থাকার নিশ্চয়তাও নয়। গন্তব্যের প্রসঙ্গের যাচাই ও এস্কেপিং নিয়ম ব্যবহার করুন।

URL এনকোডার ও ডিকোডার ওয়েবসাইটে এমবেড করা যায়?

কাজের অংশের নিচে অনূদিত HTML কোড ব্যবহার করুন, দৃশ্যমান ToolMellow ব্যাকলিংক রাখুন এবং iframe/স্ক্রিপ্ট সমর্থন দেখুন। এমবেডে একই তিন ধরন ও স্থানীয় লেখার সীমা; এটি সার্ভার রূপান্তর API বা URL আনার পরিষেবা নয়।

উৎস ও আরও পড়ুন

কাজে লাগান।