Base64 এনকোডার ও ডিকোডার গাইড: UTF-8, Base64url ও ত্রুটি
ToolMellow ·
Base64 অল্প কিছু মুদ্রণযোগ্য অক্ষর দিয়ে বাইট প্রকাশ করে। টেক্সট এনকোডে ToolMellow আগে সঠিক Unicode-কে UTF-8 বাইট করে; ডিকোডে বাইট বৈধ UTF-8 টেক্সট হওয়া আবশ্যক। ইনপুট পেস্ট করুন, সাধারণ বা URL-নিরাপদ Base64 বেছে “এনকোড করুন” বা “ডিকোড করুন” চাপুন। রূপান্তর ব্রাউজারে স্থানীয়ভাবে চলে।
এই গাইড টুলের গ্রহণযোগ্য নির্দিষ্ট ফরম্যাট, উদাহরণ ও সাধারণ ত্রুটি ব্যাখ্যা করে। Base64 উল্টানো যায় এমন এনকোডিং, এনক্রিপশন বা সংকোচন নয়। সফল রূপান্তর টোকেন প্রমাণীকরণ করে না, পাসওয়ার্ড নিরাপদ করে না, ফাইল নিরীহ হওয়াও প্রমাণ করে না। নিচের উদাহরণ স্থির ব্যাখ্যা, আপনার ডেটার মাপ নয়।
টেক্সট কীভাবে এনকোড বা ডিকোড করবেন
Base64 এনকোডার ও ডিকোডার খুলে টেক্সট বা এনকোড করা স্ট্রিং পেস্ট করুন। সাধারণ বর্ণমালার জন্য URL-নিরাপদ Base64 বন্ধ রাখুন; গ্রহণকারী ফরম্যাট Base64url চাইলে চালু করুন। “এনকোড করুন” পুরো ইনপুট বদলায়, “ডিকোড করুন” UTF-8 টেক্সট ফেরায়। শুধু টাইপ করলে রূপান্তর শুরু হয় না।
ফলাফল কপি করুন বা ডাউনলোড করার আগে আউটপুট পড়ুন। সীমার মধ্যে থাকলে “ফলাফল ইনপুট হিসেবে ব্যবহার করুন” সম্পাদকের টেক্সট বদলায়; তারপর বিপরীত ক্রিয়া দিয়ে ফিরে পাওয়া টেক্সট যাচাই করতে পারেন। ইনপুট বা রূপান্তর বিকল্প বদলালে পুরোনো ফলাফল অকার্যকর হয়। “লাইন মোড়ানো” শুধু প্রদর্শন বদলায়, এনকোডের অক্ষর বা প্রকৃত নতুন লাইন যোগ করে না।
- অ্যাপের মান নিয়ে সমস্যা খোঁজার আগে
fooওZm9v-এর মতো জানা উদাহরণ নিন। - অ্যাপের দরকারি বর্ণমালা নিন; সাধারণ অক্ষর ও সংখ্যা দেখেই সবসময় ধরন বোঝা যায় না।
- হুবহু বাইট রাখা জরুরি হলে মূল কপি রাখুন। টেক্সট আমদানি, অক্ষর এনকোডিং ও বাড়তি নতুন লাইন বিষয় বদলাতে পারে।
Base64 কীভাবে বাইট প্রকাশ করে
Base64 প্রতি তিন বাইটকে চারটি ছয়-বিট মানে ভাগ করে, তারপর বর্ণমালার অক্ষরে মানগুলো প্রকাশ করে। শেষ ছোট গুচ্ছ আলাদাভাবে সামলাতে হয় এবং প্যাডিং লাগতে পারে। দৃশ্যমান অক্ষর মূল বাইটের প্রতিনিধিত্ব, নতুন ভাষা বা গোপন চাবি নয়।
নিচের সাধারণ বর্ণমালার উদাহরণে খালি স্ট্রিং এবং এক, দুই, তিন ASCII বাইটের শেষাংশ আছে। মূল টেক্সটের স্পেস ও নতুন লাইন প্রকৃত বাইট, তাই ফলাফল বদলায়। একই ক্যানোনিক্যাল এনকোডিং ডিকোড করলে এসব অক্ষরসহ মূল UTF-8 টেক্সট ফিরে আসে।
| UTF-8 টেক্সট | সাধারণ Base64 |
|---|---|
| খালি স্ট্রিং | খালি স্ট্রিং |
f | Zg== |
fo | Zm8= |
foo | Zm9v |
Hello | SGVsbG8= |
😀 | 8J+YgA== |
RFC 4648: Base64, Base64url, প্যাডিং ও ক্যানোনিক্যাল এনকোডিং
সাধারণ Base64 ও Base64url-এর পার্থক্য
দুই ধরনেই অক্ষর ও সংখ্যা আছে। সাধারণ Base64-এর শেষ দুই চিহ্ন + ও /; Base64url-এ - ও _। ToolMellow সাধারণ মোডে প্রয়োজনমতো শেষের = দেয়, URL-নিরাপদ মোডে প্যাডিং বাদ দেয়। উপরের ইমোজিটি URL-নিরাপদ মোডে 8J-YgA হয়।
ডিকোডার শুধু নির্বাচিত বর্ণমালা গ্রহণ করে। দুই মোডেই সঠিক প্যাডিংবিহীন ইনপুট বা সঠিক স্থানের ঐচ্ছিক প্যাডিং চলে। Base64url সর্বক্ষেত্রে প্যাডিং নিষিদ্ধ করে না; সংশ্লিষ্ট প্রোটোকল ঠিক করে সেটি আবশ্যক, অনুমোদিত না বাদ যাবে। সব URL বা টোকেনে একই নিয়ম ধরে না নিয়ে অ্যাপের প্রয়োজনীয় ফরম্যাট বেছে নিন।
| বৈশিষ্ট্য | সাধারণ মোড | URL-নিরাপদ মোড |
|---|---|---|
| শেষ বর্ণমালা চিহ্ন | + ও / | - ও _ |
| ToolMellow এনকোডিং প্যাডিং | প্রয়োজনে থাকে | বাদ যায় |
| ToolMellow ডিকোডিং প্যাডিং | সঠিক প্যাডিং বা প্যাডিংবিহীন | সঠিক প্যাডিং বা প্যাডিংবিহীন |
| দুই ধরনের মিশ্র চিহ্ন | প্রত্যাখ্যাত | প্রত্যাখ্যাত |
RFC 4648: Base64, Base64url, প্যাডিং ও ক্যানোনিক্যাল এনকোডিং
Unicode, ইমোজি ও UTF-8 ডিকোডিং
টেক্সট UTF-8 দিয়ে বদলায়, তাই সঠিক Unicode হলে উচ্চারণচিহ্ন, চীনা, আরবি ও ইমোজি ফিরে পাওয়া যায়। JavaScript স্ট্রিংয়ের দৈর্ঘ্য UTF-16 কোড ইউনিট গোনে, UTF-8 বাইট নয়। 😀 দুই UTF-16 ইউনিট ও চার UTF-8 বাইট নেয়, ফলে প্যাডিংসহ আট Base64 অক্ষর হয়।
এনকোডিং জোড়াহীন Unicode সারোগেট প্রত্যাখ্যান করে। ডিকোডিং খারাপ বাইট নীরবে বদলে দেওয়ার বদলে অবৈধ UTF-8 প্রত্যাখ্যান করে। এনকোড করা শুরুতে থাকা UTF-8 BOM ডিকোড স্ট্রিংয়ে U+FEFF হিসেবে থাকে এবং সম্পাদকে অদৃশ্য হতে পারে। বৈধ টেক্সটেও নিয়ন্ত্রণ অক্ষর বা ভিন্ন Unicode স্বাভাবিকীকরণ থাকতে পারে। Base64 টেক্সট স্বাভাবিকীকরণ করে না বা চালানোর জন্য নিরাপদ করে না।
RFC 3629: UTF-8 অক্ষর এনকোডিংWHATWG Encoding: TextEncoder, TextDecoder ও BOMECMAScript: স্ট্রিং দৈর্ঘ্য ও isWellFormed
প্যাডিং, ফাঁকা অক্ষর ও অব্যবহৃত বিট
প্যাডিং সর্বোচ্চ দুইটি শেষের =; প্যাডিংসহ দৈর্ঘ্য চার দিয়ে বিভাজ্য হতে হবে। সঠিক শেষাংশের প্যাডিংবিহীন ইনপুটও চলে, কিন্তু দৈর্ঘ্যের ভাগশেষ এক হলে পূর্ণ বাইট হয় না। Zg== ও Zg দুটোই f দেয়; Zg= ভুল। খালি ইনপুটের বৈধ খালি ফলাফল হয়।
ডিকোডের আগে ToolMellow শুধু TAB, LF, CR ও SPACE সরায়। ফর্ম ফিড, উল্লম্ব ট্যাব, ননব্রেকিং স্পেস এবং অন্য Unicode ফাঁকা অক্ষর প্রত্যাখ্যাত হয়। মূল ইনপুট সীমা এগুলো সরানোর আগেই যাচাই হয়। তাই সব ধরনের ফাঁকা অক্ষর উপেক্ষার প্রতিশ্রুতি হিসেবে ধরবেন না।
এই টুলে শেষ বর্ণমালা চিহ্নের অব্যবহৃত বিট শূন্য হতে হবে। ডিকোড বাইট আবার এনকোড করে প্যাডিং ছাড়া ফলকে স্বাভাবিক করা ইনপুটের সঙ্গে মেলায়। Zh== প্রত্যাখ্যাত হয়, যদিও শিথিল ডিকোডার ক্যানোনিক্যাল Zg==-এর একই বাইট দিতে পারে। RFC 4648 এমন কঠোর প্রত্যাখ্যানের অনুমতি দেয়; অন্য ডিকোডারের গ্রহণ ক্যানোনিক্যাল ইনপুটের প্রমাণ নয়।
RFC 4648: Base64, Base64url, প্যাডিং ও ক্যানোনিক্যাল এনকোডিংWHATWG Infra: শিথিল Base64 ডিকোডিংWHATWG HTML: atob ও btoa
Base64 কত বড় হয় এবং সীমা কী?
n ইনপুট বাইটের প্যাডিংসহ দৈর্ঘ্য 4 × ceil(n / 3) অক্ষর। শূন্য বাইটে শূন্য, এক, দুই ও তিন বাইটে চার অক্ষর। বড় ইনপুটে অতিরিক্ত আকার এক-তৃতীয়াংশের কাছাকাছি, সব মানে ঠিক 33% নয়। প্যাডিংবিহীন URL-নিরাপদ আউটপুট প্রযোজ্য ক্ষেত্রে শেষের এক বা দুই প্যাডিং অক্ষর সরায়।
সূত্রে UTF-8 বাইট এবং সম্পাদকের সীমায় UTF-16 কোড ইউনিট গুনুন। টুল সর্বোচ্চ 1,000,000 ইনপুট ইউনিট নেয়, ডিকোডের ফাঁকা অক্ষর সরানোর আগে। আউটপুটে একই সীমা নেই: দশ লাখ ASCII বাইটে 1,333,336 প্যাডিংযুক্ত অক্ষর হয়। কপি ও ডাউনলোড চলে, কিন্তু বড় ফল নতুন ইনপুটে বসানো যায় না।
| সীমার ধরন | প্রকৃত সীমা বা আচরণ |
|---|---|
| সম্পাদক / রূপান্তর ইনপুট | সর্বোচ্চ 1,000,000 UTF-16 কোড ইউনিট |
| স্থানীয় ফাইলের বাইট আকার | 4,000,000 বাইটের কঠোরভাবে নিচে |
| আমদানি করা টেক্সটের দৈর্ঘ্য | সর্বোচ্চ 1,000,000 UTF-16 কোড ইউনিট |
| এনকোড আউটপুট | ইনপুট সীমা ছাড়াতে পারে; কপি/ডাউনলোড চলে |
RFC 4648: Base64, Base64url, প্যাডিং ও ক্যানোনিক্যাল এনকোডিংWHATWG Encoding: TextEncoder, TextDecoder ও BOMECMAScript: স্ট্রিং দৈর্ঘ্য ও isWellFormed
টেক্সট ফাইল খোলা বাইনরি ফাইল এনকোড করা নয়
ফাইল নিয়ন্ত্রণ File.text() দিয়ে স্থানীয় ফাইল UTF-8 টেক্সট হিসেবে পড়ে। 4,000,000 বাইট বা বেশি ফাইল প্রত্যাখ্যাত হয়; পড়া টেক্সট 1,000,000 UTF-16 ইউনিটের বেশি হলেও প্রত্যাখ্যাত হয়। রূপান্তরের জন্য অ্যাপ ফাইল আপলোড করে না। ফাইলের এক্সটেনশন বাইট UTF-8 টেক্সট হওয়ার প্রমাণ নয়।
সাধারণ ফাইল-থেকে-টেক্সট পড়া শুরুর UTF-8 BOM সরায় এবং ভুল UTF-8 ক্রম প্রতিস্থাপন করে। এনকোডের আগেই মূল বাইট বদলাতে পারে। Base64 ডিকোডার উল্টোভাবে ভুল UTF-8 প্রত্যাখ্যান করে ও ডিকোড করা U+FEFF রাখে। ছবি, PDF, যেকোনো বাইট বা হুবহু বাইট উদ্ধারের জন্য প্রযোজ্য ক্ষেত্রে আলাদা Base64 থেকে ফাইল টুল নিন; এই টেক্সট কর্মক্ষেত্র কাঁচা বাইনরি ফাইল এনকোডার নয়।
W3C File API: Blob টেক্সট পড়াWHATWG Encoding: TextEncoder, TextDecoder ও BOM
আমার Base64 অবৈধ কেন?
আগে প্রত্যাশিত ফরম্যাট এবং আউটপুট টেক্সট হওয়ার কথা কি না জানুন। অ্যাপের বাইরের সিনট্যাক্স বুঝে সরান; কাজ করা পর্যন্ত অচেনা অক্ষর মুছতে থাকবেন না। ডিকোডার ডেটা URL-এর পে-লোড, টোকেন অংশ, উদ্ধৃত JSON স্ট্রিং বা HTML নিজে বের করে না। এসব মোড়কের নিজস্ব পার্সিং ও যাচাই নিয়ম আছে।
বর্ণমালা ও গঠন ঠিক হলেও ডিকোড বাইট UTF-8 না হলে তা বাইনরি ফাইল বা অন্য অক্ষর এনকোডিং হতে পারে। এটি টেক্সটের সীমাজনিত ত্রুটি, Base64 বাইট নষ্টের প্রমাণ নয়। ক্লিপবোর্ড না মিললে ফল বেছে হাতে কপি করুন। অসমর্থিত ব্রাউজার বা অবরুদ্ধ ওয়ার্কারও রূপান্তর আটকাতে পারে; সমর্থিত বর্তমান ব্রাউজার নিন এবং বার্তা পড়ুন।
| লক্ষণ | সম্ভাব্য কারণ | পরবর্তী যাচাই |
|---|---|---|
A | শেষ দৈর্ঘ্য অসম্ভব | সম্পূর্ণ মান কপি হয়েছে কি না দেখুন |
Zg= | অসম্পূর্ণ প্যাডিং | সঠিক প্যাডিং বা বৈধ প্যাডিংবিহীন ইনপুট দিন |
Zh== | অব্যবহৃত বিট শূন্য নয় | মূল উৎপাদক দেখুন; ক্যানোনিক্যাল রূপ Zg== |
সাধারণ মোডে 8J-YgA | ভুল বর্ণমালা বেছে নেওয়া | প্রোটোকল চাইলে URL-নিরাপদ মোড দিন |
/w== | ডিকোড বাইট বৈধ UTF-8 নয় | পে-লোড বাইনরি কি না দেখুন |
| অপ্রত্যাশিত অদৃশ্য অক্ষর | ডিকোড টেক্সটে BOM বা নিয়ন্ত্রণ অক্ষর | আবার ব্যবহারের আগে কোড পয়েন্ট দেখুন |
RFC 4648: Base64, Base64url, প্যাডিং ও ক্যানোনিক্যাল এনকোডিংRFC 3629: UTF-8 অক্ষর এনকোডিং
Base64url, শতাংশ এনকোডিং ও ডেটা URL
Base64url ও শতাংশ এনকোডিং আলাদা সমস্যা সমাধান করে। শতাংশ এনকোডিং নির্বাচিত URL বাইটকে % ক্রমে দেখায়; Base64url নিজের বর্ণমালায় পুরো বাইট ধারাকে। প্লাস স্পেসে বদলানো বিশেষভাবে application/x-www-form-urlencoded পার্সিংয়ে ঘটে, সব URL-এ নয়। সে কাজের জন্য URL এনকোডার ও ডিকোডার ব্যবহার করুন।
ডেটা URL-এ data: স্কিম, ঐচ্ছিক মিডিয়া ধরন ও পে-লোডের আগে কমা থাকে; প্রযোজ্য ক্ষেত্রে Base64 চিহ্ন থাকে। পুরো মোড়ক এখানে পেস্ট করলে বর্ণমালা যাচাই ব্যর্থ হবে। সঠিক টুলে উদ্দেশ্য অনুযায়ী পে-লোড বের করুন ও দেখুন সেটি টেক্সট না বাইনরি। Base64 এম্বেড করা স্ক্রিপ্ট, নথি বা ডাউনলোড ফাইল বিশ্বাসযোগ্য করে না।
JWT অংশ ও HTTP Basic প্রোটোকল ডেটা
কমপ্যাক্ট JWS-এ ডট দিয়ে আলাদা তিন অংশ থাকে; কমপ্যাক্ট JWE-তে পাঁচ। JWT-এর টেক্সট অংশ ডিকোড করলে JSON দেখা যেতে পারে, কিন্তু স্বাক্ষর যাচাই হয় না, এনক্রিপ্টেড বিষয় ডিক্রিপ্ট হয় না, মেয়াদ যাচাই হয় না এবং অনুমতি প্রতিষ্ঠা হয় না। স্বাক্ষর অংশ যেকোনো বাইট হতে পারে, UTF-8 হওয়া জরুরি নয়। অ্যাপে প্রকৃত টোকেন প্রোটোকল ও রক্ষণাবেক্ষণ করা যাচাই লাইব্রেরি ব্যবহার করুন।
HTTP Basic ব্যবহারকারীনাম/পাসওয়ার্ড ধারাকে Base64-এ দেখায়, যার প্রোটোকলভিত্তিক অক্ষর এনকোডিং নিয়ম আছে। Base64 গোপনীয়তা যোগ করে না। এই UTF-8 টেক্সট টুল প্রতিটি সার্ভারের ব্যাখ্যায় শংসাপত্র ঠিক থাকার প্রমাণ দেয় না। আসল শংসাপত্র প্রকাশ্য উদাহরণে দেবেন না; প্রয়োজনীয় নিরাপদ পরিবহন ও প্রমাণীকরণ পদ্ধতি ব্যবহার করুন।
RFC 7515: JSON Web Signature কমপ্যাক্ট সিরিয়ালাইজেশনRFC 7516: JSON Web Encryption কমপ্যাক্ট সিরিয়ালাইজেশনRFC 7617: HTTP Basic প্রমাণীকরণ
Base64 এনক্রিপশন, হ্যাশিং বা সংকোচন নয়
Base64 মান পাওয়া যে কেউ গোপন চাবি ছাড়াই উল্টাতে পারে। এনক্রিপশনের জন্য ক্রিপ্টোগ্রাফিক ব্যবস্থা ও চাবি পরিচালনা লাগে; হ্যাশ আলাদা উদ্দেশ্য ও বৈশিষ্ট্যের ডাইজেস্ট দেয়। পাসওয়ার্ড Base64-এ বদলানো উপযুক্ত পাসওয়ার্ড সংরক্ষণ নয়। আলাদা হ্যাশ টুল ডাইজেস্ট দেয়, পাসওয়ার্ড সংগ্রহ ব্যবস্থা বা এনক্রিপশনের বিকল্প নয়।
Base64 বাইটের প্রকাশ বড় করে, সংকুচিত করে না। এটি আগে থেকেই এনক্রিপ্ট, সংকুচিত বা স্বাক্ষর করা বাইট বহন করতে পারে, কিন্তু নিজে সেই সুরক্ষা তৈরি করে না। এনকোডিং যোগের আগে অ্যাপের প্রয়োজন ঠিক করুন এবং শেয়ার করা উদাহরণ, স্ক্রিনশট ও ডাউনলোড ফলে গোপন তথ্য রাখবেন না।
RFC 4648: Base64, Base64url, প্যাডিং ও ক্যানোনিক্যাল এনকোডিং
কপি, ডাউনলোড, ফিরতি যাচাই ও মুছুন
ডাউনলোড ফলকে UTF-8 টেক্সট হিসেবে toolmellow-result.txt-এ রাখে। এটি বাইনরি পুনর্গঠন বা রূপান্তর রিপোর্ট নয়। সফল খালি আউটপুটেও ফলাফল কপি করুন ও ডাউনলোড চালু থাকে। সহজ যাচাইয়ে পরিচিত টেক্সট এনকোড করুন, সীমার মধ্যে হলে ফল ইনপুট বানান, একই বর্ণমালায় ডিকোড করে মূলের সঙ্গে মেলান।
“মুছুন” ইনপুট, ফলাফল, ত্রুটি, খোঁজা/বদলানোর বিষয় ও সম্পাদকের ইতিহাস সরায়; URL-নিরাপদ ও “লাইন মোড়ানো” বিকল্প রাখে। রিফ্রেশ বা কর্মক্ষেত্র বন্ধ করলে মেমোরির কাজ বাদ যায়, কিন্তু ডাউনলোড ফাইল ডিভাইসে থাকে। মুছে ফেলা ব্রাউজার বা অপারেটিং সিস্টেম মেমোরি থেকে ফরেনসিক নিশ্চিহ্ন করার গ্যারান্টি নয়।
স্থানীয় প্রক্রিয়াকরণের অর্থ ও সীমা
রূপান্তর ব্রাউজার ওয়ার্কারে চলে। অ্যাপ পেস্ট করা টেক্সট, নির্বাচিত ফাইলের বিষয় বা ফলাফল রূপান্তর সার্ভারে পাঠায় না। কাজের ইনপুট বর্তমান পেজে থাকে, অ্যাকাউন্টের ইতিহাস হিসেবে নয়। স্টোরেজ ও সাময়িক হস্তান্তরের পুরো ব্যাখ্যা সাইটের গোপনীয়তা পেজে পড়ুন।
সাইট খোলায় নেটওয়ার্ক অনুরোধ তবু হয়। হোস্টিং সাধারণ সংযোগ/অনুরোধের মেটাডেটা পায়; প্রকাশ্য সাইট পেজ ভিজিট মাপতে Google Analytics ব্যবহার করে, যার মধ্যে কুকি ও ব্রাউজার/ডিভাইস তথ্য আছে। স্থানীয় রূপান্তর অজ্ঞাতপরিচয় হওয়া, শূন্য নেটওয়ার্ক ট্র্যাফিক বা শূন্য অবকাঠামো লগের প্রতিশ্রুতি নয়। আপনার ডাউনলোড বা কপির মাধ্যমে ফল কর্মক্ষেত্র ছেড়ে যেতে পারে।
ব্যাকলিংকসহ Base64 টুল ওয়েবপেজে এম্বেড করুন
টুল কর্মক্ষেত্রের নিচের ইন্টিগ্রেশন অংশ খুলুন, পেজের ভাষা বেছে দেওয়া HTML স্নিপেট কপি বা ডাউনলোড করুন। বাইরের iframe ও স্ক্রিপ্ট অনুমোদিত HTML স্থানে পেস্ট করুন। স্নিপেটে ToolMellow কর্মক্ষেত্রের iframe, আকার মানানোর স্ক্রিপ্ট এবং একই ভাষার ToolMellow টুল পেজের দৃশ্যমান ব্যাকলিংক আছে। কৃতিত্বের লিংক রাখুন।
এম্বেডের প্রিভিউ ও সরু স্ক্রিন যাচাই করুন। টেক্সটের পরিসর ও ইনপুট সীমা একই; এটি দূরবর্তী রূপান্তর API বা বাইনরি ফাইল এনকোডার নয়। ক্লিপবোর্ড ব্রাউজারের অনুমতির ওপর নির্ভর করে; প্ল্যাটফর্মে বাইরের সম্পদ অনুমোদিত হতে হবে। দেওয়া ব্যাকলিংকে nofollow ও noopener থাকে; লিংক থাকা উচ্চ সার্চ র্যাঙ্কের নিশ্চয়তা নয়।
সাধারণ প্রশ্ন
টেক্সট কীভাবে Base64-এ এনকোড করব?
সঠিক Unicode টেক্সট পেস্ট করুন, সাধারণ বা URL-নিরাপদ মোড বেছে “এনকোড করুন” চাপুন। ToolMellow স্থানীয়ভাবে UTF-8 বাইট করে এনকোড করে। ফলের টেক্সট কপি বা ডাউনলোড করুন।
Base64 কীভাবে টেক্সটে ডিকোড করব?
মিলে যাওয়া বর্ণমালা বেছে “ডিকোড করুন” চাপুন। টুল ফরম্যাট ও ক্যানোনিক্যাল অব্যবহৃত বিট যাচাই করে, তারপর বৈধ UTF-8 চায়। সঠিক ঐচ্ছিক প্যাডিং ও প্যাডিংবিহীন ইনপুট চলে; বাইনরি ডেটা টেক্সট যাচাইয়ে ব্যর্থ হতে পারে।
Base64 ও Base64url-এর পার্থক্য কী?
শেষ দুই চিহ্ন ভিন্ন: সাধারণে + ও /, URL-নিরাপদে - ও _। ToolMellow প্রয়োজনে সাধারণ প্যাডিং দেয় এবং URL-নিরাপদ প্যাডিং বাদ দেয়। দুই মোডেই সঠিক প্যাডিংযুক্ত বা প্যাডিংবিহীন ডিকোড ইনপুট চলে।
Base64-এর শেষে সমান চিহ্ন কেন?
বাইট সংখ্যা তিন দিয়ে বিভাজ্য না হলে শেষের এক বা দুই সমান চিহ্ন চার-অক্ষর গুচ্ছ পূরণ করে। প্যাডিং ফরম্যাটভিত্তিক; এই ডিকোডার বৈধ প্যাডিংবিহীন রূপও নেয়।
Base64 কি ইমোজি ও অ-লাতিন টেক্সট সামলায়?
হ্যাঁ, UTF-8 দিয়ে। ইমোজির UTF-16 ইউনিট ও UTF-8 বাইট সংখ্যা ভিন্ন হতে পারে। এনকোডিং জোড়াহীন সারোগেট এবং ডিকোডিং ভুল UTF-8 প্রত্যাখ্যান করে, প্রতিস্থাপন করে না।
Base64 কতটা বড় হয়?
প্যাডিংসহ দৈর্ঘ্য 4 × ceil(ইনপুট বাইট / 3)। বড় ইনপুটে অতিরিক্ত আকার প্রায় এক-তৃতীয়াংশ; ছোট ইনপুটে ঊর্ধ্বমুখী পূর্ণসংখ্যায় নেওয়ার প্রভাব আছে। দৃশ্যমান অক্ষর নয়, UTF-8 বাইট মাপুন। প্যাডিংবিহীন URL-নিরাপদ আউটপুট শেষ প্যাডিং সরায়।
অন্য ডিকোডার নেয়, ToolMellow কেন প্রত্যাখ্যান করে?
ডিকোডারের বর্ণমালা, ফাঁকা অক্ষর, প্যাডিং, অব্যবহৃত বিট ও টেক্সট এনকোডিংয়ের নিয়ম আলাদা। ToolMellow নির্বাচিত বর্ণমালা নেয়, শুধু নির্দিষ্ট চার ফাঁকা অক্ষর সরায় এবং শূন্য অব্যবহৃত বিট ও বৈধ UTF-8 চায়। শিথিল স্বীকৃতি ক্যানোনিক্যাল রূপের প্রমাণ নয়।
এখানে PDF বা ছবি ডিকোড করতে পারি?
এই টুল UTF-8 টেক্সট দেয়, যেকোনো ফাইল বাইট নয়। উপযুক্ত বাইনরি পুনর্গঠনের জন্য আলাদা Base64 থেকে ফাইল টুল নিন। এখানকার ফাইল ইনপুট টেক্সট পড়ে এবং এনকোডের আগে BOM সরাতে বা অবৈধ UTF-8 বদলাতে পারে।
ডিকোডে কোন ফাঁকা অক্ষর গ্রহণ করা হয়?
শুধু TAB, LF, CR ও SPACE সরানো হয়। ফর্ম ফিড, উল্লম্ব ট্যাব, NBSP ও অন্য Unicode ফাঁকা অক্ষর প্রত্যাখ্যাত হয়। ফাঁকা অক্ষর সরানোর আগেই মূল দশ লাখ UTF-16 ইউনিটের ইনপুট সীমা প্রযোজ্য।
Base64 কি এনক্রিপশন বা নিরাপদ পাসওয়ার্ড সংরক্ষণ?
না। Base64 চাবি ছাড়াই উল্টানো যায়, গোপনীয়তা যোগ হয় না। এটি এনক্রিপশন, পাসওয়ার্ড হ্যাশ বা সংকোচন নয়। প্রমাণীকরণ টোকেন ডিকোড করা যাচাই বা অনুমোদনও করে না।
ফল ডাউনলোড হয়, কিন্তু ইনপুট বানানো যায় না কেন?
এনকোড আউটপুট দশ লাখ UTF-16 ইউনিটের ইনপুট সীমা ছাড়াতে পারে। কপি ও ডাউনলোড চলে, কিন্তু বড় ফল ইনপুট করা যায় না। দশ লাখ ASCII বাইটে 1,333,336 প্যাডিংযুক্ত অক্ষর হয়।
ওয়েবসাইটে টুল এম্বেড করতে পারি?
হ্যাঁ। কর্মক্ষেত্রের নিচের স্থানীয় ভাষার HTML স্নিপেট নিন, দৃশ্যমান ToolMellow ব্যাকলিংক রাখুন এবং iframe ও আকার মানানোর স্ক্রিপ্ট প্ল্যাটফর্মে চলে কি না দেখুন। একই টেক্সট সীমা থাকে; এটি সার্ভার রূপান্তর API নয়।
উৎস ও আরও পড়ুন
- RFC 4648: Base64, Base64url, প্যাডিং ও ক্যানোনিক্যাল এনকোডিং
- RFC 3629: UTF-8 অক্ষর এনকোডিং
- WHATWG Encoding: TextEncoder, TextDecoder ও BOM
- ECMAScript: স্ট্রিং দৈর্ঘ্য ও isWellFormed
- WHATWG Infra: শিথিল Base64 ডিকোডিং
- WHATWG HTML: atob ও btoa
- W3C File API: Blob টেক্সট পড়া
- WHATWG URL: ফর্ম URL-এনকোড পার্সিং
- RFC 2397: ডেটা URL স্কিম
- RFC 7515: JSON Web Signature কমপ্যাক্ট সিরিয়ালাইজেশন
- RFC 7516: JSON Web Encryption কমপ্যাক্ট সিরিয়ালাইজেশন
- RFC 7617: HTTP Basic প্রমাণীকরণ