দ্বিমুখী বেস কনভার্টার - দশমিক, Hex, Base32, Base64
দশমিক ও Base16 (hex), Base32, Base64-এর মধ্যে উভয় দিকে সংখ্যা রূপান্তর করুন, স্বয়ংক্রিয় বেস শনাক্তকরণসহ। দশমিক এনকোড করুন বা এনকোড করা মান ডিকোড করুন।
বাইডাইরেকশনাল বেস কনভার্টার
ডেসিমাল সংখ্যা এবং স্ট্যান্ডার্ড বেস এনকোডিংয়ের (বেস১৬/হেক্স, বেস৩২, বেস৬৪) মধ্যে রূপান্তর করুন। রূপান্তর করতে যেকোনো ক্ষেত্রে একটি মান লিখুন।
একটি ধনাত্মক পূর্ণসংখ্যা লিখুন (সর্বাধিক: ৯,০০৭,১৯৯,২৫৪,৭৪০,৯৯১)
বেস১৬, বেস৩২, বা বেস৬৪ এনকোডেড মান লিখুন
বেস এনকোডিংয়ের বিষয়ে
ডকুমেন্টেশন
দ্বিমুখী বেস কনভার্টার: Decimal ↔ Base16, Base32, Base64
একটি বেস কনভার্টার একটি সংখ্যাকে এক পদ্ধতিতে লেখা থেকে অন্য পদ্ধতিতে রূপান্তর করে। কম্পিউটার, URL এবং ডেটা ফরম্যাটগুলো খুব কমই একটি সাধারণ দশমিক সংখ্যা সংরক্ষণ করে — সেগুলো একে আরও কমপ্যাক্ট বা ট্রান্সপোর্ট-নিরাপদ এনকোডিং যেমন Base16 (hexadecimal), Base32, বা Base64-এ প্যাক করে। এই টুলটি উভয় দিকেই রূপান্তর করে: একটি দশমিক সংখ্যা টাইপ করুন এবং এর Base16/Base32/Base64 রূপ দেখুন, অথবা একটি এনকোড করা মান পেস্ট করুন এবং দশমিক মান ফেরত পান। এটি এনকোড করা মানটি কোন বেসে আছে তাও শনাক্ত করে।
বেস কী বোঝায়
প্রতিটি স্থানীয় (positional) সংখ্যা পদ্ধতির একটি বেস (বা radix) থাকে — একটি একক অঙ্কের জন্য ব্যবহৃত ভিন্ন প্রতীকের সংখ্যা। দশমিক হলো বেস-10 (0-9)। এখানকার এনকোডিংগুলো একটি বড় প্রতীক সেটের বিনিময়ে ছোট স্ট্রিং দেয়:
- Base16 (Hexadecimal) — প্রতীক
0-9এবংA-F। প্রতিটি অক্ষর 4 বিট বহন করে। রঙের কোড (#FF0000), মেমরি অ্যাড্রেস এবং হ্যাশের জন্য সর্বত্র ব্যবহৃত হয়। - Base32 — প্রতীক
A-Zএবং2-7(RFC 4648)। প্রতিটি অক্ষর 5 বিট বহন করে। কেস-ইনসেনসিটিভ এবং সহজে বিভ্রান্তিকর অক্ষরমুক্ত, তাই এটি জোরে পড়া বা হাতে টাইপ করার ক্ষেত্রেও ঠিক থাকে। - Base64 — প্রতীক
A-Z,a-z,0-9,+, এবং/(RFC 4648)। প্রতিটি অক্ষর 6 বিট বহন করে। ইমেল বা JSON ফিল্ডের মতো টেক্সট-শুধুমাত্র চ্যানেলের মধ্য দিয়ে বাইনারি ডেটা বহনের প্রমিত উপায়।
বেস যত বেশি, একই সংখ্যার জন্য তত কম অক্ষর লাগে — কিন্তু তত বড় বর্ণমালা মনে রাখতে হয়।
কনভার্টার কীভাবে ব্যবহার করবেন
টুলটিতে দুটি ফিল্ড আছে এবং আপনি যেখানে টাইপ করবেন সেখানেই কাজ করে:
- Decimal → encoded. দশমিক ফিল্ডে একটি ধনাত্মক পূর্ণসংখ্যা লিখুন। টুলটি একসাথে Base16, Base32, এবং Base64-এ মান দেখায়।
- Encoded → decimal. এনকোড করা ফিল্ডে একটি Base16, Base32, বা Base64 মান পেস্ট করুন। টুলটি বেস শনাক্ত করে, অক্ষরগুলো যাচাই করে এবং দশমিক সংখ্যা ফেরত দেয়।
সীমা এবং যাচাইকরণ
মানগুলো JavaScript-এর সর্বোচ্চ নিরাপদ পূর্ণসংখ্যা, 9007199254740991-এ সীমাবদ্ধ (অর্থাৎ 2^53 − 1)। এর ঊর্ধ্বে, পূর্ণসংখ্যাগুলো আর নির্ভুলভাবে উপস্থাপন করা যায় না, তাই যে কনভার্টার চালিয়ে যেত সে নীরবে ভুল অঙ্ক ফেরত দিত — টুলটি অনুমান করার বদলে একটি সীমার-বাইরে (out-of-range) ত্রুটি জানায়। দশমিক ইনপুট অবশ্যই একটি অ-ঋণাত্মক পূর্ণসংখ্যা হতে হবে; এনকোড করা ইনপুটে শুধুমাত্র সেই বেসের জন্য বৈধ অক্ষর ব্যবহার করতে হবে, নয়তো টুলটি ভুল ডেটা ডিকোড করার বদলে সতর্ক করে।
সমাধানকৃত উদাহরণ
- দশমিকে 255। Base16 =
FF, কারণ 255 = 15×16 + 15 এবং উভয় অঙ্কইF। এই কারণেই#FFFFFFসাদা রঙ: তিনটি বাইট প্রতিটি তাদের সর্বোচ্চ মানে। - দশমিকে 1000। Base16 =
3E8(3×256 + 14×16 + 8 = 1000)। FFডিকোড করা। Base16 হিসেবে শনাক্ত হয়, ডিকোড হয়ে হয় 255।- সর্বোচ্চ মানের একটি বাইট, 8 বিট, হেক্সে
FF— প্রতি 4 বিটে একটি হেক্স অক্ষর, তাই প্রতি বাইটে দুটি অক্ষর। একই বাইটের জন্য Base32-এ দীর্ঘতর স্ট্রিং এবং Base64-এ একটি প্যাডেড গ্রুপ লাগে, যে কারণে রঙ এবং অ্যাড্রেসের মতো ছোট মানের জন্য হেক্স সবচেয়ে পঠনযোগ্য পছন্দ থেকে যায়।
প্রতিটি এনকোডিং কোথায় ব্যবহৃত হয়
- Base16 — CSS/HTML রং, MAC এবং IPv6 অ্যাড্রেস, ক্রিপ্টোগ্রাফিক হ্যাশ ও চেকসাম, বাইনারি ফাইলের হেক্স ডাম্প।
- Base32 — TOTP/2FA সিক্রেট কী, কিছু ফাইল-শেয়ারিং এবং DNS-ভিত্তিক সিস্টেম, হাতে টাইপ করা বা মুখে বলা শনাক্তকারী যেখানে কেস এবং অক্ষর বিভ্রান্তি এড়ানো জরুরি।
- Base64 —
data:URI, ইমেল সংযুক্তি (MIME), JSON বা XML-এর ভেতরে ছবি বা সার্টিফিকেট এমবেড করা, JWT টোকেন।
যেহেতু প্রতিটি এনকোডিং একই অন্তর্নিহিত সংখ্যার শুধুমাত্র একটি উপস্থাপনা, তাদের মধ্যে রূপান্তর কখনও মান পরিবর্তন করে না — শুধু এটি লিখতে কতগুলো অক্ষর লাগে এবং এটি কোন চ্যানেলের মধ্য দিয়ে নিরাপদে যেতে পারে তা পরিবর্তন করে।