intermediate#code#BCD#ASCII#Unicode#EBCDICUpdated: 2026-07-15

কোড (Code)

ভূমিকা — 'A' চাপলে কম্পিউটার কী দেখে?

Keyboard-এ 'A' চাপো। Screen-এ 'A' দেখা যায়। কিন্তু মাঝখানে কম্পিউটারের ভেতরে 'A' বলে কিছু নেই — আছে শুধু 01000001। এই যে অক্ষরকে বাইনারি সংখ্যায় রূপান্তরের নিয়ম, এটাই কোড (Code)

💡 মজার তথ্য: তোমার নাম বাংলায় লিখতে পারছ যে ফোনে, সেটা সম্ভব হয়েছে ১৯৯১ সালে Unicode আবিষ্কারের পর। তার আগে কম্পিউটার শুধু ইংরেজি বুঝত!

Code কেন দরকার?

কম্পিউটার শুধু 0 আর 1 বোঝে। কিন্তু আমরা ব্যবহার করি:

  • অক্ষর (A-Z, a-z, ক-ঁ)
  • অঙ্ক (0-9)
  • প্রতীক (+, -, @, #)

সমস্যা: 0/1 দিয়ে এত কিছু প্রকাশ করবে কীভাবে? সমাধান: প্রতিটি অক্ষর/অঙ্ক/প্রতীকের জন্য একটি নির্দিষ্ট বাইনারি সংখ্যা ঠিক করে দেওয়া — সবাই একই নিয়ম মানলে যেকোনো কম্পিউটার যেকোনো লেখা বুঝবে।

Code = অক্ষর, অঙ্ক ও প্রতীককে বাইনারিতে প্রকাশের সর্বজনীন নিয়ম।

চিত্রের মাধ্যমে বোঝো

Keyboard-এ 'A' চাপলে:

   'A'  ──►  Encoder  ──►  01000001 (ASCII)  ──►  CPU/Memory
                                 │
   'A'  ◄──  Decoder  ◄──────────┘  (Screen-এ দেখানোর সময়)

Module 1: BCD Code (Binary Coded Decimal)

📌 সংজ্ঞা: দশমিক সংখ্যার প্রতিটি অঙ্ককে আলাদাভাবে 4-bit বাইনারি দিয়ে প্রকাশ করার কোড।

গঠন: 4 bit → ২৪ = 16টি সম্ভাবনা, কিন্তু ব্যবহার হয় মাত্র 10টি (0000–1001)।

দশমিক অঙ্কBCD (8421)
00000
50101
91001

উদাহরণ: (25)₁₀ এর BCD:

  • 2 → 0010
  • 5 → 0101
  • BCD = 0010 0101

⚠️ গুরুত্বপূর্ণ পার্থক্য: (25)₁₀ এর বাইনারি = 11001, কিন্তু BCD = 00100101। BCD ≠ Binary! বাইনারি পুরো সংখ্যাকে রূপান্তর করে, BCD প্রতিটি অঙ্ককে আলাদাভাবে।

BCD-র প্রকার: 8421 (সবচেয়ে প্রচলিত — বিটগুলোর স্থানীয় মান 8, 4, 2, 1), 2421, Excess-3, Gray code।

ব্যবহার: Digital clock, calculator, digital meter — যেখানে দশমিক অঙ্ক সরাসরি প্রদর্শন করতে হয়।

অবৈধ BCD: 1010 থেকে 1111 (দশমিক 10–15) — BCD-তে এগুলো ব্যবহার হয় না।

Module 2: Alphanumeric Code কী?

📌 সংজ্ঞা: যে কোডে অক্ষর (Alphabet) + অঙ্ক (Number) + বিশেষ প্রতীক — সব প্রকাশ করা যায়, তাকে Alphanumeric Code বলে।

তিনটি প্রধান Alphanumeric Code: ASCII, EBCDIC, Unicode

Module 3: ASCII (American Standard Code for Information Interchange)

📌 সংজ্ঞা: ৭-বিটের সবচেয়ে জনপ্রিয় Alphanumeric কোড, ১৯৬৩ সালে প্রণীত।

  • ASCII-7: 7 bit → ২⁷ = 128টি চিহ্ন
  • ASCII-8 (Extended): 8 bit → ২⁸ = 256টি চিহ্ন (parity bit বা extra bit যোগ করে)

মুখস্থ রাখার মতো মান:

অক্ষরদশমিকবাইনারি
0480110000
9570111001
A651000001
Z901011010
a971100001
z1221111010

Pattern লক্ষ করো: 'a' = 'A' + 32। বড় হাতের থেকে ছোট হাতের অক্ষর ৩২ বেশি — মাঝের মাত্র একটি bit-এর পার্থক্য (bit-5)।

সীমাবদ্ধতা: 128/256টি চিহ্ন দিয়ে শুধু ইংরেজি চলে; বাংলা, আরবি, চীনা — অসম্ভব। এ সমস্যাই Unicode-এর জন্ম দেয়।

Module 4: EBCDIC (Extended Binary Coded Decimal Interchange Code)

📌 সংজ্ঞা: IBM-এর তৈরি ৮-বিট কোড, ২⁸ = 256টি চিহ্ন।

  • BCD কোডের সম্প্রসারিত রূপ
  • মূলত IBM Mainframe কম্পিউটারে ব্যবহৃত হতো
  • এখন প্রায় অপ্রচলিত — ASCII/Unicode-ই মানদণ্ড

Module 5: Unicode — সব ভাষার এক কোড

📌 সংজ্ঞা: পৃথিবীর সব ভাষার সব চিহ্ন প্রকাশের জন্য তৈরি আন্তর্জাতিক কোড (১৯৯১, Unicode Consortium — Xerox ও Apple-এর যৌথ উদ্যোগ)।

  • 16-bit ভিত্তি → ২১⁶ = 65,536 চিহ্ন (বর্তমান সংস্করণে ১১ লক্ষাধিক code point)
  • প্রথম 128টি চিহ্ন ASCII-র সাথে সম্পূর্ণ সামঞ্জস্যপূর্ণ (backward compatible)
  • বাংলা ভাষার পরিসর: U+0980 থেকে U+09FF
  • Encoding রূপ: UTF-8 (ওয়েবে সবচেয়ে জনপ্রিয়), UTF-16, UTF-32

কেন বিপ্লব? একটাই কোডে বাংলা + ইংরেজি + আরবি + ইমোজি — কোনো conflict নেই। আজকের ফেসবুক পোস্টে বাংলা লিখতে পারা = Unicode-এর অবদান।

বাস্তব জীবনের সাথে মিল

🏠 অ্যানালজি: কোড হলো ডাকবিভাগের পোস্টকোডের মতো। "ঢাকা-১২০৫" লিখলে পৃথিবীর যেকোনো পোস্ট অফিস বোঝে জায়গাটা কোথায় — কারণ সবাই একই নিয়ম মানে। তেমনি 65 মানেই 'A' — পৃথিবীর সব কম্পিউটারে।

সব কোডের তুলনা সারণি

কোডবিটচিহ্ন সংখ্যাব্যবহার
BCD410 (শুধু অঙ্ক)Calculator, digital clock
ASCII-77128ইংরেজি টেক্সট
ASCII-88256Extended ইংরেজি
EBCDIC8256IBM Mainframe
Unicode16+65,536+সব ভাষা (বাংলাসহ)

🧠 মূল শিক্ষা

  1. Code = অক্ষর/অঙ্ক/প্রতীক ↔ বাইনারি রূপান্তরের সর্বজনীন নিয়ম
  2. BCD প্রতিটি অঙ্ককে আলাদাভাবে 4-bit-এ রূপান্তর করে — পুরো সংখ্যাকে নয়
  3. ASCII 7-bit (128 চিহ্ন), Extended ASCII 8-bit (256 চিহ্ন)
  4. A = 65, a = 97, 0 = 48 — এই তিনটি মান মনে রাখো
  5. Unicode 16-bit — সব ভাষা, বাংলার জন্য U+0980–U+09FF

🔁 নিজে পরীক্ষা করো

  1. (47)₁₀-এর BCD কত? → 4=0100, 7=0111 → 01000111
  2. 'B'-এর ASCII মান কত? → A=65, তাই B = 66
  3. (12)₁₀-এর Binary আর BCD কি একই? → Binary=1100, BCD=00010010 → ভিন্ন!

📝 HSC পরীক্ষার প্রস্তুতি

পরীক্ষায় যা আসতে পারে:

  • BCD ও Binary-র পার্থক্য (সংখ্যাসহ) — খুবই common
  • ASCII ও Unicode-এর পার্থক্য
  • Unicode-এ কতটি চিহ্ন প্রকাশ সম্ভব (২¹⁶)
  • বাংলা ভাষা প্রকাশে কোন কোড ব্যবহৃত হয়

সাধারণ ভুল:

  • ❌ (25)₁₀-এর BCD হিসেবে 11001 লেখা (এটা Binary!)
  • ❌ ASCII-কে 8-bit বলা (মূল ASCII 7-bit; Extended-টা 8-bit)
  • ❌ Unicode-কে শুধু "বাংলা কোড" ভাবা (এটা সব ভাষার)

✅ সারাংশ

  • BCD: দশমিক অঙ্ক → 4-bit বাইনারি (অঙ্ক ধরে ধরে)
  • ASCII: ইংরেজি অক্ষর/প্রতীকের 7-bit কোড (A=65)
  • EBCDIC: IBM-এর 8-bit কোড
  • Unicode: সব ভাষার 16-bit আন্তর্জাতিক কোড — বাংলা লেখার ভিত্তি

🎯 অনুশীলন প্রশ্ন

  1. (69)₁₀-কে BCD-তে প্রকাশ করো।
  2. "ICT" শব্দটির ASCII (দশমিক) মানগুলো লেখো (I=73)।
  3. BCD ও Binary-র মধ্যে ৩টি পার্থক্য লেখো।
  4. Unicode উদ্ভাবনের প্রেক্ষাপট ব্যাখ্যা করো।
  5. ASCII দিয়ে বাংলা লেখা সম্ভব নয় কেন — যুক্তিসহ ব্যাখ্যা করো।