কম্পিউটার

পাইথনে বাইট অবজেক্ট বনাম স্ট্রিং


যেহেতু কম্পিউটার শুধুমাত্র বাইট ডেটা সঞ্চয় করতে পারে, তাই আমাদের বিভিন্ন ডেটা ফরম্যাটকে বাইট ডেটা ফরম্যাটে রূপান্তর করতে হবে। উদাহরণস্বরূপ, ছবিগুলিকে বাইট হতে, PNG, JPEG ইত্যাদির সাথে সংরক্ষণ করা হয়৷ একইভাবে সঙ্গীত .WAV, .MP3 ইত্যাদি হিসাবে সংরক্ষণ করা হয়৷ এই ফর্ম্যাটগুলি তৈরি এবং পরিচালনা করার জন্য দায়ী সফ্টওয়্যারগুলি এই ডেটাকে বাইটে রূপান্তর করার কাজ করে যাতে তারা পেতে পারে৷ সংরক্ষিত পাইথনে বাইট বস্তুটি বাইটের একটি ক্রম যা মানুষের পাঠযোগ্য নয়। কিন্তু একটি অক্ষর স্ট্রিং অক্ষরগুলির একটি ক্রম যা মানুষের পাঠযোগ্য। একটি অক্ষর কম্পিউটারে বাইট হিসাবে সংরক্ষণ করার আগে এনকোড করা হয়।

এনকোডিং

অক্ষর স্ট্রিং ডিস্কে সংরক্ষণ করার আগে, এটি এনকোড করতে হবে। স্ট্রিং এনকোড করার জন্য পাইথনের ফাংশনটি নীচে দেখানো হিসাবে এনকোড। এখানে আমরা ASCII এনকোডিং প্রয়োগ করছি।

উদাহরণ

print('Best Tutorials'.encode('ASCII'))

আউটপুট

উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -

b'Best Tutorials'

ডিকোডিং

যখন বাইটগুলি ডিস্কের আকারে পঠিত হয়, তখন সেগুলিকে মানুষের পাঠযোগ্য করে তুলতে, সেগুলিকে ডিকোড করা দরকার৷ পাইথনে, আমরা এনকোড করা বাইটকে স্ট্রিংয়ে রূপান্তর করতে ডিকোড ফাংশন ব্যবহার করতে পারি।

উদাহরণ

print(b'Best Tutorials'.decode('ASCII'))

আউটপুট

উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -

Best Tutorials

নিম্নোক্ত মূল বিষয়গুলো উল্লেখ করতে হবে।

  • স্ট্রিং হল অক্ষরের ক্রম কিন্তু বাইট অবজেক্ট হল বাইটের ক্রম।
  • স্ট্রিংগুলি শুধুমাত্র মানুষের পাঠযোগ্য কিন্তু বাইটগুলি মেশিনে পাঠযোগ্য৷
  • বাইটগুলি সরাসরি ডিস্কে সংরক্ষণ করা হয়, যেখানে অক্ষরগুলি ডিস্কে সংরক্ষণ করার আগে এনকোডিং প্রয়োজন৷

  1. প্রদত্ত স্ট্রিং প্যানগ্রাম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  2. পাইথন স্ট্রিং এর সর্বোচ্চ দৈর্ঘ্য কত?

  3. পাইথনে একটি স্ট্রিং এবং একটি বাইট স্ট্রিংয়ের মধ্যে পার্থক্য কী?

  4. কিভাবে আমরা পাইথনে একটি অপরিবর্তনীয় স্ট্রিং এর আইডি পরিবর্তন করতে পারি?