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