binascii মডিউল বাইনারি এবং বিভিন্ন ASCII-এনকোডেড বাইনারি রিপ্রেজেন্টেশনের মধ্যে রূপান্তর সক্ষম করে। এই মডিউলটিতে C-এ লেখা লো-লেভেল ফাংশন রয়েছে যা গতির জন্য অপ্টিমাইজড। এটি হাই-লেভেল মডিউল যেমন uu, base64 বা binhex দ্বারা ব্যবহৃত হয়।
binascii মডিউল নিচের ফাংশনগুলো ডিফাইন করে। এই ফাংশনগুলো নামের সাথে a2b_* বা b2a_* প্রিফিক্স থাকে।
- binascii.a2b_uu(string): uuencoded ডেটার একটি লাইনকে বাইনারি রূপান্তর করে এবং বাইনারি ডেটা রিটার্ন করে। লাইনের সাধারণত ৪৫ বাইট থাকে, শেষ লাইন ছাড়া। লাইন ডেটার পরে হোয়াইট স্পেস থাকতে পারে।
- binascii.b2a_uu(data): বাইনারি ডেটাকে ASCII ক্যারেক্টারের একটি লাইনে রূপান্তর করে, রিটার্ন ভ্যালু হলো কনভার্টেড লাইন (নিউলাইন ক্যারেক্টার সহ)।
- binascii.a2b_base64(string): base64 ডেটার একটি ব্লককে বাইনারি রূপান্তর করে এবং বাইনারি ডেটা রিটার্ন করে।
- binascii.b2a_base64(data): বাইনারি ডেটাকে base64 কোডিংয়ে ASCII ক্যারেক্টারের একটি লাইনে রূপান্তর করে। রিটার্ন ভ্যালু হলো কনভার্টেড লাইন (নিউলাইন ক্যারেক্টার সহ যদি newline true হয়)।
- binascii.a2b_qp(data): quoted-printable ডেটার একটি ব্লককে বাইনারি রূপান্তর করে এবং বাইনারি ডেটা রিটার্ন করে।
- binascii.b2a_qp(data): বাইনারি ডেটাকে quoted-printable এনকোডিংয়ে ASCII ক্যারেক্টারের লাইন(গুলো)에 রূপান্তর করে। রিটার্ন ভ্যালু হলো কনভার্টেড লাইন(গুলো)।
- binascii.a2b_hqx(string): binhex4 ফরম্যাটেড ASCII ডেটাকে বাইনারি রূপান্তর করে, RLE ডিকম্প্রেশন ছাড়া। স্ট্রিংএ পুরো সংখ্যক বাইনারি বাইট থাকতে হয় বা বাকি বিটগুলো শূন্য হতে হয়।
- binascii.rledecode_hqx(data): binhex4 স্ট্যান্ডার্ড অনুযায়ী ডেটায় RLE-ডিকম্প্রেশন করে।
- binascii.rlecode_hqx(data): ডেটায় binhex4 স্টাইলে RLE-কম্প্রেশন করে এবং ফলাফল রিটার্ন করে।
- binascii.b2a_hqx(data): hexbin4 বাইনারি-টু-ASCII ট্রান্সলেশন করে এবং ফলাফল স্ট্রিং রিটার্ন করে। আর্গুমেন্টটি ইতিমধ্যে RLE-কোডেড হওয়া উচিত।
- binascii.crc_hqx(data, value): ডেটার ১৬-বিট CRC ভ্যালু কম্পিউট করে, value কে ইনিশিয়াল CRC হিসেবে নিয়ে, এবং ফলাফল রিটার্ন করে।
- binascii.crc32(data[, value]): CRC-32, ডেটার ৩২-বিট চেকসাম কম্পিউট করে, ইনিশিয়াল CRC value দিয়ে। ডিফল্ট ইনিশিয়াল CRC শূন্য।