পাইথনে বাইটেরিকে বাইটে রূপান্তর করুন

Convert Bytearray Bytes Python



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

বাইটেরের সিনট্যাক্স () পদ্ধতি

বাইট্রে ([তথ্য সূত্র[,এনকোডিং[,ত্রুটি]]])

এই পদ্ধতির তিনটি যুক্তি alচ্ছিক। প্রথম যুক্তিটি বাইটের তালিকা আরম্ভ করার জন্য ব্যবহৃত হয়। যদি প্রথম যুক্তিটি স্ট্রিং হয়, তাহলে দ্বিতীয় যুক্তিটি এনকোডিংয়ের জন্য ব্যবহৃত হয়। অবশেষে, তৃতীয় যুক্তিটি ত্রুটি প্রদর্শন করতে ব্যবহৃত হয় যদি এনকোডিং ব্যর্থ হয়।







বাইট সিনট্যাক্স () পদ্ধতি

বাইট ([তথ্য সূত্র[,এনকোডিং[,ত্রুটি]]])

এর সব যুক্তি বাইট () ফাংশন alচ্ছিক, যেমন বাইটেরে () পদ্ধতি এই আর্গুমেন্টগুলির কাজগুলিও একই বাইটেরে () পদ্ধতি, উপরে উল্লিখিত।



রূপান্তর করার পদ্ধতি বাইট্রে প্রতি বাইট পাইথনে এই প্রক্রিয়াটি আরও ভালভাবে বোঝার জন্য কিছু সহজ উদাহরণ ব্যবহার করে নীচে দেখানো হয়েছে।



উদাহরণ 1: তালিকা ডেটাকে বাইটের্রে থেকে বাইটে রূপান্তর করুন

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





#!/usr/bin/env python3

# তালিকা নির্ধারণ করুন
listdata= [72, 69, 76, 76, 79]
# তালিকার বিষয়বস্তু মুদ্রণ করুন
ছাপা('nঅভিধান মান হল:n',listdata)

# তালিকা দিয়ে বাইটেরে অবজেক্ট শুরু করুন
byteArrayObject= বাইট্রে(listdata)
# বাইটেরে অবজেক্টের মান প্রিন্ট করুন
ছাপা('nBytearray () পদ্ধতির আউটপুট:n',byteArrayObject)

# বাইটেরে বস্তুকে বাইট বস্তুতে রূপান্তর করুন
বাইটঅবজেক্ট= বাইট(byteArrayObject)
# প্রিন্ট বাইট অবজেক্ট ভ্যালু
ছাপা('nবাইট () পদ্ধতির আউটপুট:n',বাইটঅবজেক্ট)

ছাপা('nবাইটের ASCII মান ')
# লুপ ব্যবহার করে বাইট অবজেক্ট ইটারেট করুন
জন্যঘন্টাভিতরেবাইটঅবজেক্ট:
ছাপা(ঘন্টা,'',শেষ='')

ছাপা('nবাইট এর স্ট্রিং মান ')
# লুপ ব্যবহার করে বাইট অবজেক্ট ইটারেট করুন
জন্যঘন্টাভিতরেবাইটঅবজেক্ট:
ছাপা(chr(ঘন্টা),'',শেষ='')

আউটপুট

স্ক্রিপ্ট চালানোর পর নিচের আউটপুট দেখা যাবে। এখানে, 72, 69, 76, এবং 79 হল যথাক্রমে 'H,' 'E,' 'L,' এবং 'O,' এর ASCII কোড।



উদাহরণ 2: স্ট্রিং ডেটাকে বাইটারে থেকে বাইটে রূপান্তর করুন

নিচের উদাহরণটি স্ট্রিং ডেটাতে বাইটের বস্তুর বাইট বস্তুতে রূপান্তর দেখায়। এই স্ক্রিপ্টের বাইটারে () পদ্ধতিতে দুটি যুক্তি ব্যবহার করা হয়েছে। প্রথম যুক্তিতে স্ট্রিং মান থাকে, দ্বিতীয় যুক্তিতে এনকোডিং স্ট্রিং থাকে। এখানে, 'utf-8' এনকোডিং একটি বাইটরে বস্তুতে রূপান্তরিত করতে ব্যবহৃত হয়। দ্য ডিকোড () পদ্ধতিটি স্ক্রিপ্টে বাইট বস্তুগুলিকে স্ট্রিং ডেটাতে রূপান্তর করতে ব্যবহৃত হয়। রূপান্তর করার সময় একই এনকোডিং ব্যবহার করা হয়।

#!/usr/bin/env python3

# একটি স্ট্রিং মান নিন
পাঠ্য= ইনপুট('কোন লেখা লিখুন:n')

# স্ট্রিং এবং এনকোডিং দিয়ে বাইটএরে অবজেক্ট শুরু করুন
byteArrObj= বাইট্রে(পাঠ্য, 'ইউটিএফ -8')
ছাপা('nবাইটসারে () পদ্ধতির আউটপুট:n',byteArrObj)

# বাইটারে বাইটে রূপান্তর করুন
byteObj= বাইট(byteArrObj)
ছাপা('nবাইট () পদ্ধতির আউটপুট:n',byteObj)

# এমকোডিং ব্যবহার করে বাইটের মানকে স্ট্রিংয়ে রূপান্তর করুন
ছাপা('nবাইট এর স্ট্রিং মান ')
ছাপা(byteObj।ডিকোড('ইউটিএফ -8'))

আউটপুট

স্ক্রিপ্ট চালানোর পর নিচের আউটপুট দেখা যাবে।

উদাহরণ 3: ইন্টিজার ডেটাকে বাইটারে থেকে বাইটে রূপান্তর করুন

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

#!/usr/bin/env python3

চেষ্টা করুন:
# যেকোনো সংখ্যার মান নিন
পাঠ্য= int(ইনপুট('কোন নম্বর লিখুন:'))

# সংখ্যার সাথে বাইটএরে অবজেক্ট শুরু করুন
byteArrObj= বাইট্রে(পাঠ্য)
ছাপা('nবাইটসারে () পদ্ধতির আউটপুট:n',byteArrObj)

# বাইটের বস্তুকে বাইট অবজেক্টে রূপান্তর করুন
byteObj= বাইট(byteArrObj)
ছাপা('nবাইট () পদ্ধতির আউটপুট:n',byteObj)

# বাইট বস্তুর আকার প্রিন্ট করুন
ছাপা('nবাইট বস্তুর দৈর্ঘ্য: ',লেন(byteObj))
ছাড়া মান ত্রুটি:
ছাপা('যেকোন সাংখ্যিক মান লিখুন')

আউটপুট

স্ক্রিপ্ট চালানোর পর, 6 টি নিচের আউটপুটে ইনপুট হিসেবে নেওয়া হয়। ছয়টি শূন্য মান বাইটারে এবং বাইটের আউটপুট হিসাবে প্রদর্শিত হয়। যখন শূন্য মান গণনা করা হয় তখন এটি 6 দেখায়।

উদাহরণ 4: append () ব্যবহার করে বাইটএয়ার তৈরি করুন এবং বাইটে রূপান্তর করুন

নিচের উদাহরণটি দেখায় যে কিভাবে বাইটএরে বস্তুগুলি append () পদ্ধতির মাধ্যমে তৈরি করা যায় এবং বাইটে রূপান্তরিত করা যায়। ArrVal ভেরিয়েবলকে এখানে বাইটেরে অবজেক্ট হিসেবে ঘোষণা করা হয়েছে। এরপরে, অ্যারেতে ছয়টি উপাদান যুক্ত করার জন্য অ্যাপেন্ড () পদ্ধতিটি ছয়বার বলা হয়। অক্ষরের ASCII কোড, 'P,' 'y,' 't,' 'h,' 'o,' এবং 'n,' যথাক্রমে 80, 121, 116, 104, 111 এবং 1120। এগুলো বাইটেরে অবজেক্টে যোগ করা হয়েছে। এই অ্যারে বস্তুটি পরবর্তীতে বাইট অবজেক্টে রূপান্তরিত হয়।

#!/usr/bin/env python3

# Bytearray তৈরি করুন এবং append () পদ্ধতি ব্যবহার করে আইটেম যোগ করুন
arrVal= বাইট্রে()
arrVal।সংযোজন(80)
arrVal।সংযোজন(121)
arrVal।সংযোজন(116)
arrVal।সংযোজন(104)
arrVal।সংযোজন(111)
arrVal।সংযোজন(110)

# Bytearray () মান প্রিন্ট করুন
ছাপা('nBytearray () পদ্ধতির আউটপুট:n',arrVal)

# বাইটেরে বস্তুকে বাইট বস্তুতে রূপান্তর করুন
বাইটঅবজেক্ট= বাইট(arrVal)

# প্রিন্ট বাইট অবজেক্ট ভ্যালু
ছাপা('nবাইট () পদ্ধতির আউটপুট:n',বাইটঅবজেক্ট)

আউটপুট

স্ক্রিপ্ট চালানোর পর নিচের আউটপুট দেখা যাবে।

উপসংহার

এই প্রবন্ধে বাইটএরে অবজেক্ট তৈরির পর বাইটএরে বাইটে রূপান্তর করার জন্য বিভিন্ন পদ্ধতি দেখানো হয়েছে। এই নিবন্ধটি পড়ার পরে, আমি আশা করি আপনি বাইটের্রে এবং বাইটের ধারণাটি বুঝতে পেরেছেন, বাইটএরেকে বাইটে রূপান্তর করার উপায়টি জানেন এবং বাইটের আউটপুটকে স্ট্রিং এবং অক্ষর হিসাবে প্রদর্শন করতে সক্ষম হবেন।