বাইনারি/হেক্স কনভার্টার

বাইনারি, হেক্স, ডেসিমেল এবং অক্টালের মধ্যে সংখ্যা রূপান্তর করুন — অথবা টেক্সটকে বাইটে রূপান্তর করুন।

প্রস্তুত। রূপান্তর করতে একটি সংখ্যা বা কিছু টেক্সট টাইপ করুন।

প্রতিটি রূপান্তর আপনার ব্রাউজারে চলে। আপনার সংখ্যা এবং টেক্সট কখনই আপনার ডিভাইস থেকে বাইরে যায় না।

জিজ্ঞাসিত প্রশ্নাবলী

আমি এখানে কী রূপান্তর করতে পারি?

দুটি জিনিস। নাম্বার মোড বাইনারি, অক্টাল, ডেসিমেল এবং হেক্সাডেসিমেলকে লিঙ্ক করে — যেকোনো একটি ফিল্ড এডিট করলেই বাকিগুলো তাৎক্ষণিকভাবে আপডেট হয়ে যায়। টেক্সট মোড যেকোনো টেক্সটকে আপনার পছন্দসই বেসে বাইট ভ্যালুতে রূপান্তর করে এবং সেই বাইটগুলোকে আবার টেক্সটে রূপান্তর করে।

এটি কি ঋণাত্মক এবং অনেক বড় সংখ্যা হ্যান্ডেল করতে পারে?

হ্যাঁ। ঋণাত্মক সংখ্যাগুলো প্রতিটি বেসে একটি মাইনাস চিহ্ন বজায় রাখে এবং এখানে কোনো সাইজ লিমিট নেই — কোনো রাউন্ডিং ছাড়াই মানগুলো হুবহু রূপান্তরিত হয়। কোনো ফিক্সড-উইডথ টু'স-কমপ্লিমেন্ট ভিউ নেই, কারণ এটি কেবল তখনই অর্থপূর্ণ হয় যখন আপনি একটি নির্দিষ্ট বিট উইডথ বেছে নেন।

আমার ইনপুট কি কোথাও পাঠানো হয়?

না। সবকিছু আপনার ব্রাউজারে স্থানীয়ভাবে হিসাব করা হয়, তাই আপনি যা টাইপ করেন তার কিছুই আপলোড করা হয় না।

সংখ্যা পদ্ধতির ভিত্তি এবং রূপান্তর প্রক্রিয়া

কম্পিউটার বিজ্ঞান এবং ডিজিটাল ইলেকট্রনিক্সে বিভিন্ন সংখ্যা পদ্ধতি বা বেস (Base) ব্যবহার করা হয়। এর মধ্যে সবচেয়ে পরিচিত চারটি পদ্ধতি হলো বাইনারি (বেস ২), অক্টাল (বেস ৮), ডেসিমেল (বেস ১০) এবং হেক্সাডেসিমেল বা হেক্স (বেস ১৬)। প্রতিটি পদ্ধতির নিজস্ব অঙ্ক বা ডিজিটের সেট রয়েছে:

  • বাইনারি: কেবল 0 এবং 1 নিয়ে গঠিত।
  • অক্টাল: 0 থেকে 7 পর্যন্ত মোট ৮টি অঙ্ক ব্যবহার করে।
  • ডেসিমেল: আমাদের পরিচিত সাধারণ সংখ্যা পদ্ধতি, যা 0 থেকে 9 পর্যন্ত ১০টি অঙ্ক ব্যবহার করে।
  • হেক্স: 0 থেকে 9 এবং এর সাথে A থেকে F (যা ১০ থেকে ১৫ মান নির্দেশ করে) পর্যন্ত মোট ১৬টি প্রতীক ব্যবহার করে। হেক্সাডেসিমেল আউটপুটে বড় হাতের অক্ষর (Uppercase) ব্যবহার করা হয়।

এই সংখ্যা পদ্ধতিগুলোর মধ্যে পারস্পরিক রূপান্তর ডেভেলপার এবং প্রযুক্তিগত ব্যবহারকারীদের জন্য অত্যন্ত গুরুত্বপূর্ণ। বাইনারি/হেক্স কনভার্টার টুলটি এই রূপান্তর প্রক্রিয়াকে সহজ করে তোলে। যখন আপনি সংখ্যা মোডে যেকোনো একটি ফিল্ডে (যেমন বাইনারি বা ডেসিমেল) কোনো সংখ্যা লিখবেন, তখন বাকি তিনটি ফিল্ড তাৎক্ষণিকভাবে আপডেট হয়ে যায়।

সংখ্যা মোডের ইনপুট ও আউটপুট নিয়মাবলী

সংখ্যা মোডে কাজ করার সময় টুলটি নির্দিষ্ট কিছু নিয়ম এবং ফরম্যাট সমর্থন করে:

  • ইনপুট ফরম্যাট: সংখ্যা ইনপুট করার সময় সংখ্যার শুরুতে ঋণাত্মক চিহ্ন (leading minus sign), চারপাশের খালি জায়গা (surrounding spaces), এবং বিভিন্ন বেসের প্রিফিক্স যেমন বাইনারির জন্য 0b, অক্টালের জন্য 0o অথবা হেক্সের জন্য 0x ব্যবহার করা যাবে। এছাড়া সংখ্যা সহজে পড়ার জন্য আন্ডারস্কোর (_) এবং হোয়াইটস্পেস বিভাজক (whitespace separators) ব্যবহার করা সমর্থন করে।
  • ঋণাত্মক সংখ্যা: ঋণাত্মক সংখ্যাগুলোর ক্ষেত্রে প্রতিটি বেসেই একটি মাইনাস চিহ্ন বজায় থাকে।
  • নির্ভুলতা ও সাইজ লিমিট: এই টুলে সংখ্যার আকারের কোনো ব্যবহারিক সীমা নেই। BigInt ব্যবহারের মাধ্যমে ৪,০৯৬ ক্যারেক্টার পর্যন্ত যেকোনো বড় পূর্ণসংখ্যা নিখুঁতভাবে এবং কোনো রাউন্ডিং (rounding) ছাড়াই রূপান্তর করা সম্ভব।
  • আউটপুট প্যাডিং: রূপান্তরের পর বাইনারি আউটপুটকে ৮ বিট, অক্টাল আউটপুটকে ৩ বিট এবং হেক্সাডেসিমেল আউটপুটকে ২ বিট পর্যন্ত লিডিং জিরো (leading zeros) দিয়ে প্যাড করা হয়। তবে ডেসিমেল আউটপুটে কোনো লিডিং জিরো যোগ করা হয় না।

যদি ইনপুট দেওয়া সংখ্যাটি সংশ্লিষ্ট বেসের নিয়মের সাথে না মেলে, তবে টুলটি এই ত্রুটি বার্তা প্রদর্শন করে: "ঐ বেসের জন্য এটি বৈধ সংখ্যা নয় — এমন কোনো ডিজিট আছে কি না পরীক্ষা করুন যা সেখানে থাকতে পারে না।"। সফলভাবে সংখ্যা রূপান্তরের পর স্ট্যাটাস পরিবর্তিত হয়ে "রূপান্তরিত হয়েছে।" দেখায়। ইনপুট ফিল্ড খালি করলে স্ট্যাটাস দেখায় "মুছে ফেলা হয়েছে।"

টেক্সট ও বাইট এনকোডিং রূপান্তর

সংখ্যা রূপান্তরের পাশাপাশি এই টুলটি টেক্সটকে বাইট ভ্যালুতে এবং বাইট ভ্যালুকে পুনরায় টেক্সটে রূপান্তর করতে পারে। এই প্রক্রিয়াটি মূলত ক্যারেক্টার এনকোডিং এবং বাইট কোড কাঠামোর ওপর ভিত্তি করে কাজ করে:

  • UTF-8 এনকোডিং: এখানে টেক্সট এনকোড করার জন্য UTF-8 স্ট্যান্ডার্ড ব্যবহার করা হয়।
  • টেক্সট থেকে বাইট (এনকোডিং): যেকোনো টেক্সট ইনপুট নিয়ে সেটিকে ব্যবহারকারীর পছন্দ অনুযায়ী বাইনারি, অক্টাল, ডেসিমেল বা হেক্সাডেসিমেল বাইট ভ্যালুতে রূপান্তর করা যায়। টেক্সট ইনপুটের সর্বোচ্চ সীমা হলো ২০০,০০০ ক্যারেক্টার। ইনপুট এই সীমা অতিক্রম করলে "এই টুলের জন্য এটি অতিরিক্ত দীর্ঘ — আরও ছোট ইনপুট চেষ্টা করুন।" ত্রুটি বার্তাটি প্রদর্শিত হয়। এনকোডিং সম্পন্ন হলে স্ট্যাটাস দেখায় "এনকোড করা হয়েছে।"
  • বাইট থেকে টেক্সট (ডিকোডিং): পূর্বে এনকোড করা বাইট ভ্যালুগুলোকে পুনরায় টেক্সটে রূপান্তর করা যায়। ইনপুট দেওয়া বাইট ভ্যালুগুলো স্পেস বা কমা দিয়ে আলাদা করা থাকতে পারে। প্রতিটি মানকে অবশ্যই নির্বাচিত বেসের অধীনে এক বাইট অর্থাৎ ডেসিমেল হিসেবে ০ থেকে ২৫৫ সীমার মধ্যে হতে হবে। ডিকোডিং সফল হলে স্ট্যাটাস দেখায় "ডিকোড করা হয়েছে।"

ডিকোডিং প্রক্রিয়ায় কোনো ভুল হলে টুলটি নির্দিষ্ট ত্রুটি সনাক্ত করে:

  • যদি ইনপুট করা মানটি নির্বাচিত বেসের সীমার বাইরে চলে যায় বা অবৈধ হয়, তবে দেখায়: "বৈধ বাইট কোড নয় — প্রতিটি মানকে নির্বাচিত বেসে এক বাইট (0–255) হতে হবে।"
  • যদি ইনপুট করা বাইটগুলো সঠিক UTF-8 সিকোয়েন্স তৈরি করতে না পারে, তবে দেখায়: "ঐ বাইটগুলো বৈধ UTF-8 নয়, তাই সেগুলোকে টেক্সট হিসেবে দেখানো যাচ্ছে না।"

ব্রাউজার-ভিত্তিক প্রসেসিং এবং গোপনীয়তা

এই বাইনারি/হেক্স কনভার্টার টুলটির সমস্ত হিসাব-নিকাশ এবং রূপান্তর প্রক্রিয়া সম্পূর্ণভাবে আপনার ডিভাইসের ওয়েব ব্রাউজারে সম্পন্ন হয়। আপনার ইনপুট করা কোনো সংখ্যা, টেক্সট বা বাইট ডেটা কোনো সার্ভারে আপলোড করা হয় না এবং আপনার ডিভাইস থেকে বাইরে যায় না। ফলে আপনার ডেটার গোপনীয়তা বজায় থাকে।


সাধারণ জিজ্ঞাসা (FAQ)

আমি এখানে কী রূপান্তর করতে পারি?
দুটি জিনিস। নাম্বার মোড বাইনারি, অক্টাল, ডেসিমেল এবং হেক্সাডেসিমেলকে লিঙ্ক করে — যেকোনো একটি ফিল্ড এডিট করলেই বাকিগুলো তাৎক্ষণিকভাবে আপডেট হয়ে যায়। টেক্সট মোড যেকোনো টেক্সটকে আপনার পছন্দসই বেসে বাইট ভ্যালুতে রূপান্তর করে এবং সেই বাইটগুলোকে আবার টেক্সটে রূপান্তর করে।

এটি কি ঋণাত্মক এবং অনেক বড় সংখ্যা হ্যান্ডেল করতে পারে?
হ্যাঁ। ঋণাত্মক সংখ্যাগুলো প্রতিটি বেসে একটি মাইনাস চিহ্ন বজায় রাখে এবং এখানে কোনো সাইজ লিমিট নেই — কোনো রাউন্ডিং ছাড়াই মানগুলো হুবহু রূপান্তরিত হয়। কোনো ফিক্সড-উইডথ টু'স-কমপ্লিমেন্ট ভিউ নেই, কারণ এটি কেবল তখনই অর্থপূর্ণ হয় যখন আপনি একটি নির্দিষ্ট বিট উইডথ বেছে নেন।

আমার ইনপুট কি কোথাও পাঠানো হয়?
না। সবকিছু আপনার ব্রাউজারে স্থানীয়ভাবে হিসাব করা হয়, তাই আপনি যা টাইপ করেন তার কিছুই আপলোড করা হয় না।

বাইট ডিকোড করার সময় ত্রুটি দেখানোর কারণ কী?
যদি ইনপুট করা বাইট ভ্যালুগুলো নির্বাচিত বেসের জন্য সঠিক না হয়, অথবা কোনো মান যদি এক বাইটের সীমা (০–২৫৫) অতিক্রম করে, কিংবা বাইটগুলো যদি সঠিক UTF-8 ফরম্যাটে না থাকে, তবে টুলটি ত্রুটি প্রদর্শন করবে এবং রূপান্তর করবে না।