A–Z a–z 0–9 + / = · base64url
Base64 এনকোডার ও ডিকোডার
Base64 64টি ছাপার যোগ্য অক্ষরে বাইটকে লেখা হিসেবে লেখে: "Hello"-র 5 বাইট হয়ে যায় SGVsbG8=। এনকোড করতে টেক্সট লিখুন বা ফাইল বেছে নিন, আর টেক্সট বা ডাউনলোডে ফেরাতে Base64 পেস্ট করুন।
- Hello = SGVsbG8=
- Hello = SGVsbG8
- FB FF = +/8= = -_8=
সবকিছু এই ট্যাবেই চলে, কিছুই আপলোড হয় না। Base64 একটি এনকোডিং, এনক্রিপশন নয়: যে কেউ এটি উল্টে পড়তে পারে।
Scanned by NortonTM Safe Web
এক নজরে
- মূল্য
- কোনো চার্জ নেই
- অ্যাকাউন্ট
- লাগে না
- স্ট্যান্ডার্ড
- RFC 4648 (Base64 ও Base64url), RFC 2045 (MIME), RFC 2397 (ডেটা URI)
- আকারের পরিবর্তন
- প্রতি 3 বাইটে 4টি অক্ষর
- সীমা
- টেক্সট বা ফাইলের জন্য 10 MB
- আপলোড
- নেই — টেক্সট ও ফাইল আপনার ব্রাউজার ট্যাবেই থাকে
Base64 উদাহরণ
নিচের প্রতিটি মান এই পেজের এনকোডারই তৈরি করেছে। টেক্সট আগে UTF-8-এ এনকোড হয়।
| টেক্সট | Base64 | প্যাডিং ছাড়া Base64url | UTF-8 আকার |
|---|---|---|---|
| Hello | SGVsbG8= | SGVsbG8 | 5 B |
| Hello, World! | SGVsbG8sIFdvcmxkIQ== | SGVsbG8sIFdvcmxkIQ | 13 B |
| Grüße | R3LDvMOfZQ== | R3LDvMOfZQ | 7 B |
| € | 4oKs | 4oKs | 3 B |
| FB FF | +/8= | -_8 | 2 B |
| ইনপুট | Base64 | দৈর্ঘ্য | প্যাডিং অক্ষর |
|---|---|---|---|
| f | Zg== | 4 | 2 |
| fo | Zm8= | 4 | 1 |
| foo | Zm9v | 4 | 0 |
| foob | Zm9vYg== | 8 | 2 |
| fooba | Zm9vYmE= | 8 | 1 |
| foobar | Zm9vYmFy | 8 | 0 |
কীভাবে Base64 এনকোড ও ডিকোড করবেন
দিক বেছে নিন
টেক্সট বা ফাইলকে Base64-এ বদলাতে এনকোড, আর Base64 থেকে মূল রূপে ফিরতে ডিকোড বেছে নিন। অদলবদল বোতাম ফলাফলকে উল্টো দিকের ইনপুট বানিয়ে দেয়।
ডেটা দিন
টেক্সট লিখুন বা পেস্ট করুন, অথবা 10 MB পর্যন্ত একটি ফাইল ছেড়ে দিন। ডিকোডের জন্য স্ট্যান্ডার্ড বা URL-safe বর্ণমালার Base64, = প্যাডিং সহ বা ছাড়া, কিংবা একটি ডেটা URI পেস্ট করুন।
ফলাফল কপি করুন
ফলাফল কপি বা ডাউনলোড করুন। ডিকোড হওয়া বাইট টেক্সট না হলে পেজ প্রথম বাইটগুলো হেক্সে দেখায়, ফাইলের ধরন জানা থাকলে তার নাম বলে, আর বাইটগুলো ফাইল হিসেবে সেভ করতে দেয়।
Base64 কীভাবে কাজ করে
Base64 (RFC 4648) ইনপুটকে 3 বাইটের, অর্থাৎ 24 বিটের গ্রুপে ভাগ করে, আর প্রতিটি গ্রুপকে 64-অক্ষরের বর্ণমালা A–Z, a–z, 0–9, + ও / থেকে 6 বিটের 4টি অক্ষরে লেখে। তাই আউটপুট ইনপুটের চেয়ে প্রায় এক-তৃতীয়াংশ বড় হয়। ইনপুট 3 বাইটের গুণিতক না হলে শেষে = চিহ্ন বসে 4 অক্ষরের গুণিতক পূরণ করে, তাই Hello-র 5 বাইটে 8টি অক্ষর হয়, শেষে একটি =।
একই RFC-তে সংজ্ঞায়িত Base64url + এর জায়গায় - আর / এর জায়গায় _ বসায়, ফলে লেখা URL বা ফাইলের নামে নিরাপদ থাকে, আর JWT-র মতো ফরম্যাট = প্যাডিং বাদ দেয়। এই পেজ যেকোনো বর্ণমালা পড়ে, প্যাডিং সহ বা ছাড়া, আর স্পেস ও লাইন ব্রেক উপেক্ষা করে। লেখা আগে UTF-8-এ বদলানো হয়, তাই € হয় 3 বাইট E2 82 AC আর Base64-এ 4oKs। টেক্সট বা ফাইলের সীমা 10 MB।
Base64 নিয়ে প্রশ্ন
টেক্সটকে Base64-এ এনকোড করব কীভাবে?
এনকোড মোডে টেক্সট লিখুন বা পেস্ট করুন। লেখার সঙ্গে সঙ্গে Base64 দেখা যায়: Hello থেকে হয় SGVsbG8=। লেখা আগে UTF-8-এ লেখা হয়, তাই ASCII-র বাইরের অক্ষরে একাধিক বাইট লাগে: € হলো 3 বাইট আর হয় 4oKs।
Base64 আর Base64url-এর পার্থক্য কী?
Base64url দুটি অক্ষর বদলায়: + এর জায়গায় - আর / এর জায়গায় _। FB FF বাইট Base64-এ +/8= আর Base64url-এ -_8=। URL-safe রূপটি URL, ফাইলের নাম আর JWT-র জন্য, আর প্রায়ই = প্যাডিং বাদ দেয়।
Base64-এর শেষে = চিহ্ন থাকে কেন?
ওগুলো প্যাডিং। Base64 কাজ করে 3 বাইট আর 4 অক্ষরের গ্রুপে। শেষ গ্রুপে 1 বাইট থাকলে দুটি = পূরণ করে: f থেকে হয় Zg==। 2 বাইট থাকলে একটি = পূরণ করে: fo থেকে হয় Zm8=। 3 বাইটের গুণিতকে কিছুই লাগে না: foo থেকে হয় Zm9v।
Base64 কি এনক্রিপশন?
না। Base64 চাবিহীন একটি ফেরানো যায় এমন এনকোডিং, তাই যে কেউ এটি ডিকোড করতে পারে, আর এটি ডেটা সুরক্ষিত রাখে না। এটি বাইনারি ডেটাকে ইমেইল, JSON, XML বা ডেটা URI-র মতো লেখার জায়গায় নিরাপদে রাখার উপযোগী করে।
Base64 আমার ডেটা কতটা বড় করে?
প্রায় এক-তৃতীয়াংশ: প্রতি 3 বাইট হয়ে যায় 4 অক্ষর, তাই 3000 বাইট থেকে 4000 অক্ষর হয়। প্রতি 76 অক্ষরে (MIME, RFC 2045) বা প্রতি 64 অক্ষরে (PEM, RFC 7468) লাইন ব্রেক আরও একটু যোগ করে।
ডিকোড বলছে বাইটগুলো বৈধ UTF-8 টেক্সট নয়, কেন?
Base64 নিজে ঠিক আছে, কিন্তু ভেতরের বাইটগুলো টেক্সট নয়। সেগুলো ছবি, কমপ্রেস করা ফাইল বা অন্য কোনো বাইনারি ফরম্যাট হতে পারে। তখন পেজ প্রথম 64 বাইট হেক্সে দেখায়, ধরন জানা থাকলে ফাইলের ধরনের নাম বলে, আর বাইটগুলো ডাউনলোডের জন্য দেয়।