Base64 এনকোড/ডিকোড (টেক্সট)
Input
Output
কেন এই Base64 এনকোডার ব্যবহার করবেন
- টেক্সট, JSON এবং ছোট বাইনারি পেলোডের জন্য তাৎক্ষণিক Base64 এনকোডিং
- ফাইল সমর্থন (টেক্সট, ইমেজ, বাইনারি) দ্রুত Base64 স্ট্রিংয়ে রূপান্তরের জন্য
- JWT, ক্যোয়ারী প্যারামিটার এবং ওয়েব-নিরাপদ প্রসঙ্গের জন্য URL-নিরাপদ বিকল্প
- CLI টুল বা ইমেইল / PEM ফরম্যাট অনুকরণের জন্য ঐচ্ছিক লাইন র্যাপিং
- হেডার, কনফিগ এবং কোডে সহজ পুনর্ব্যবহারের জন্য এক-ক্লিক কপি
- রেসপন্সিভ UI যা ডেস্কটপ এবং মোবাইলে ভাল কাজ করে
- এনকোডিং আপনার ব্রাউজারে ঘটে — আপনার ডেটা দূরবর্তী সার্ভারে প্রেরণ করা হয় না
🔧 Base64 এনকোডিং কিভাবে কাজ করে (ধাপে ধাপে) for base64-encoder
ইনপুট প্রদান করুন
আপনার টেক্সট, JSON বা স্নিপেট ইনপুট এলাকায় পেস্ট করুন, অথবা একটি ফাইল ড্রপ করে এর কাঁচা বাইট Base64-এ রূপান্তর করুন। টুলটি বাইটগুলি ঠিক যেমন আছে সেভাবে পড়ে।
বাইটে রূপান্তর করুন
এনকোডারটি অক্ষর (যেমন UTF-8 টেক্সট) বা ফাইল কন্টেন্টকে বাইটে রূপান্তর করে। প্রতিটি বাইট 0 থেকে 255 এর মধ্যে একটি 8-বিট মান।
বেস64 সূচকে বিট পুনরায় গ্রুপ করুন
প্রতি 3 বাইট (3 × 8 = 24 বিট) 6 বিটের 4 গ্রুপে (4 × 6 = 24) পুনরায় গ্রুপ করা হয়। প্রতিটি 6-বিট গ্রুপ Base64 বর্ণমালার একটি সূচক।
Base64 অক্ষরে ম্যাপ করুন এবং প্যাড করুন
প্রতিটি 6-বিট সূচক একটি Base64 অক্ষরে রূপান্তরিত হয়। যদি ইনপুট 3 বাইট দ্বারা বিভাজ্য না হয়, '=' প্যাডিং যোগ করা হয় যাতে আউটপুট দৈর্ঘ্য সর্বদা 4 অক্ষরের গুণিতক হয়।
প্রযুক্তিগত বিবরণ
অক্ষর সেট (RFC 4648)
এই এনকোডার RFC 4648 দ্বারা সংজ্ঞায়িত স্ট্যান্ডার্ড Base64 বর্ণমালা ব্যবহার করে।
| রেঞ্জ / প্রকার | অক্ষর | নোট |
|---|---|---|
| সূচক 0–25 | A–Z | বড় হাতের অক্ষর |
| সূচক 26–51 | a–z | ছোট হাতের অক্ষর |
| সূচক ৫২–৬১ | ০–৯ | সংখ্যা |
| সূচক ৬২–৬৩ | + / | স্ট্যান্ডার্ড Base64 চিহ্ন |
| প্যাডিং | = | নিশ্চিত করে আউটপুটের দৈর্ঘ্য ৪-এর গুণিতক |
আকার ও ওভারহেড
Base64 শুধুমাত্র টেক্সট চ্যানেলে নিরাপত্তার বিনিময়ে আকার বাড়ায়। এনকোডিংয়ের পরে প্রায় এক-তৃতীয়াংশ বেশি ডেটা আশা করুন।
| মূল আকার | Base64 আকার (আনুমানিক) | ওভারহেড |
|---|---|---|
| ৩ বাইট | ৪ অক্ষর | ~৩৩% বড় |
| ১ কিলোবাইট | ≈ ১.৩৭ কিলোবাইট | ~৩৭% প্যাডিং ও নিউলাইন সহ |
| ১ মেগাবাইট | ≈ ১.৩৭ মেগাবাইট | বড় স্কেলেও একই অনুপাত |
কর্মক্ষমতা ও ব্যবহারিক সীমা
এনকোডিং নিজেই দ্রুত, কিন্তু বড় বাফার ব্রাউজার মেমরি ও প্রতিক্রিয়াশীলতাকে প্রভাবিত করতে পারে।
| পেলোড আকার | ব্যবহারকারীর অভিজ্ঞতা | সুপারিশ |
|---|---|---|
| কয়েক কিলোবাইট | তাত্ক্ষণিক | হেডার, কনফিগ স্নিপেট ও টেস্ট ডেটার জন্য আদর্শ |
| ১০০ কিলোবাইট – ১ মেগাবাইট | খুব প্রতিক্রিয়াশীল | API পেলোড ও ফিক্সচারের জন্য সাধারণ |
| ১–৫ মেগাবাইট | আধুনিক হার্ডওয়্যারে সাধারণত ঠিক আছে | যদি প্রায়ই করেন তবে CLI টুল বিবেচনা করুন |
| > ৫–১০ মেগাবাইট | ব্রাউজারে ধীর বা মেমরি-ভারী মনে হতে পারে | স্ট্রিমিং এনকোডার বা CLI ইউটিলিটি ব্যবহার করুন |
কমান্ড-লাইন বেস৬৪ এনকোডিং
বড় ফাইল, অটোমেশন বা CI ওয়ার্কফ্লোর জন্য আপনার প্ল্যাটফর্মের নেটিভ বেস৬৪ ইউটিলিটি ব্যবহার করুন।
লিনাক্স / 🍏 ম্যাকওএস
একটি স্ট্রিং এনকোড করুন
echo -n 'text' | base64নিউলাইন যোগ না করে 'text' স্ট্রিংটি বেস৬৪ হিসেবে এনকোড করে।
একটি ফাইল এনকোড করুন
base64 input.bin > output.b64input.bin থেকে বাইনারি ডেটা পড়ে এবং output.b64-এ বেস৬৪ টেক্সট লেখে।
উইন্ডোজ / পাওয়ারশেল
পাওয়ারশেল দিয়ে স্ট্রিং এনকোড করুন
[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("text"))'text'-এর জন্য UTF-8 বাইটগুলিকে একটি বেস৬৪ স্ট্রিং-এ রূপান্তর করে।
certutil (CMD) দিয়ে ফাইল এনকোড করুন
certutil -encode input.bin output.b64বেস৬৪-এনকোডেড ফাইল তৈরি করতে অন্তর্নির্মিত উইন্ডোজ টুল ব্যবহার করে।
ব্যবহারিক প্রয়োগ
ওয়েব ডেভেলপমেন্ট ও ডেটা URI
ছোট অ্যাসেট এবং রিসোর্স সরাসরি HTML, CSS বা JavaScript-এ অন্তর্ভুক্ত করুন।
- লোগো, আইকন এবং ছোট ছবির জন্য data:image/...;base64,... তৈরি করুন।
- CSS নিয়মে ফন্ট বা SVG কন্টেন্ট ইনলাইন করুন।
- ছোট পেলোডগুলি বেস৬৪ স্ট্রিং হিসেবে LocalStorage-এ সংরক্ষণ করুন।
<img src="data:image/png;base64,iVBORw0KGgo...">document.styleSheets[0].insertRule("@font-face{src:url('data:font/woff2;base64,...')}" );API ডেভেলপমেন্ট ও হেডার
ক্রেডেনশিয়াল এবং ছোট পেলোডগুলি শুধুমাত্র টেক্সট চ্যানেলের মাধ্যমে নিরাপদে পরিবহন করুন।
- ব্যবহারকারীনাম:পাসওয়ার্ড জোড়া থেকে Authorization: Basic হেডার তৈরি করুন।
- কাস্টম হেডার বা ক্যোয়ারী প্যারামিটারের জন্য JSON পেলোডগুলি বেস৬৪-এ এনকোড করুন।
- JSON-এ বাইনারি ব্লবগুলি বেস৬৪ স্ট্রিং হিসেবে মোড়ক করুন।
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=fetch(url, { headers: { 'X-Payload': btoa(JSON.stringify(data)) } });টেস্টিং, ফিক্সচার ও ডিবাগিং
টেস্ট এবং ডিবাগিং সেশনের জন্য স্থিতিশীল, শুধুমাত্র টেক্সট-ভিত্তিক ফিক্সচার তৈরি করুন।
- বাইনারি ফিক্সচার (ছবি, PDF) এনকোড করে টেস্ট কোডে এম্বেড করুন।
- নমুনা পেলোডগুলি বাইনারি ফাইল কমিট করার পরিবর্তে বেস৬৪ স্ট্রিং হিসেবে সংরক্ষণ করুন।
- Base64-এনকোডেড ফিল্ড আশা করে এমন সার্ভিসের জন্য প্রোটোটাইপ পেলোড।
// উদাহরণ: Base64 ফিক্সচার ব্যবহার করে জেস্ট টেস্ট
const payload = Buffer.from(base64Fixture, 'base64');
expect(processPayload(payload)).toBeTruthy();
❓ Frequently Asked Questions
❓Base64 কেন '=' প্যাডিং ব্যবহার করে?
Base64 ইনপুটকে ৩ বাইট (২৪ বিট) ব্লকে বিভক্ত করে এবং ৪টি অক্ষর (৪ × ৬ বিট) আউটপুট দেয়। যখন ইনপুট দৈর্ঘ্য ৩ দ্বারা বিভাজ্য না হয়, তখন শেষ ব্লকটি ছোট তা নির্দেশ করতে '=' প্যাডিং অক্ষর যোগ করা হয়। প্যাডিং এনকোডিং ফরম্যাটের অংশ, মূল ডেটার নয়।🔗কিভাবে URL-সেফ Base64 তৈরি করব?
Base64 '+' কে '-' এবং '/' কে '_' দিয়ে প্রতিস্থাপন করে, এবং প্রায়ই শেষের '=' প্যাডিং সরিয়ে দেয়। অনেক লাইব্রেরিতে URL-সেফ মোড থাকে। যদি ম্যানুয়ালি করতে চান, স্ট্যান্ডার্ড Base64 থেকে শুরু করে আপনার ব্যবহারের ক্ষেত্রে এই প্রতিস্থাপন প্রয়োগ করুন এবং '=' ট্রিম করুন।🔒Base64 এনকোডিং কি একটি নিরাপত্তা ব্যবস্থা?
Base64 একটি বিপরীতমুখী **এনকোডিং** যা বাইনারি ডেটাকে টেক্সট হিসেবে নিরাপদে পরিবহন করতে সক্ষম করে (যেমন JSON, HTML বা হেডারে)। এটি নিজে থেকে কোন গোপনীয়তা বা অখণ্ডতা প্রদান করে না। নিরাপত্তার জন্য সর্বদা HTTPS/TLS এবং সঠিক ক্রিপ্টোগ্রাফি (যেমন AES বা পাবলিক-কি স্কিম) ব্যবহার করুন।📏এখানে এনকোড করার জন্য সর্বোচ্চ ফাইল সাইজ কত?
Pro Tips
খুব ছোট অ্যাসেট (< ১০ KB) এর জন্য, Base64 ডেটা URI হিসেবে ইনলাইন করা HTTP রিকোয়েস্ট কমাতে পারে, কিন্তু বড় ইমেজ বা ফন্টের জন্য এটি এড়িয়ে চলুন।
প্রোডাকশনে শুধু ট্রাঙ্কেটেড Base64 পেলোড (বা হ্যাশ) লগ করুন যাতে লগে সংবেদনশীল কনটেন্ট লিক না হয়।
যদি আপনার ব্যাকএন্ড Base64 আশা করে, সার্ভার-সাইড ইনপুট ভ্যালিডেট এবং নরমালাইজ করুন যাতে ভুল ফরম্যাট বা অযৌক্তিক বড় পেলোড রিজেক্ট হয়।
Additional Resources
Other Tools
- সিএসএস সৌন্দর্যবর্ধক
- এইচটিএমএল সৌন্দর্যবর্ধক
- জাভাস্ক্রিপ্ট সৌন্দর্যবর্ধক
- পিএইচপি সৌন্দর্যবর্ধক
- রং নির্বাচক
- স্প্রাইট এক্সট্র্যাক্টর
- বেস৬৪ ডিকোডার
- সি-শার্প ফরম্যাটার
- সিএসভি ফরম্যাটার
- Dockerfile Formatter
- এলম ফরম্যাটার
- ইএনভি ফরম্যাটার
- গো ফরম্যাটার
- গ্রাফকিউএল ফরম্যাটার
- এইচসিএল ফরম্যাটার
- আইএনআই ফরম্যাটার
- জেসন ফরম্যাটার
- ল্যাটেক ফরম্যাটার
- মার্কডাউন ফরম্যাটার
- অবজেক্টিভসি ফরম্যাটার
- Php Formatter
- প্রোটো ফরম্যাটার
- পাইথন ফরম্যাটার
- রুবি ফরম্যাটার
- রাস্ট ফরম্যাটার
- স্কালা ফরম্যাটার
- শেল স্ক্রিপ্ট ফরম্যাটার
- এসকিউএল ফরম্যাটার
- SVG ফরম্যাটার
- Swift ফরম্যাটার
- TOML ফরম্যাটার
- Typescript Formatter
- XML ফরম্যাটার
- YAML ফরম্যাটার
- Yarn ফরম্যাটার
- সিএসএস মিনিফায়ার
- Html Minifier
- Javascript Minifier
- জেসন মিনিফায়ার
- XML মিনিফায়ার
- এইচটিটিপি হেডার ভিউয়ার
- পিডিএফ থেকে টেক্সট
- রেজেক্স টেস্টার
- সার্প র্যাংক চেকার
- Whois লুকআপ