نوع داده‌ی باینری برای نگهداری و کار با داده‌ها در قالب بایت استفاده می‌شود. این نوع داده زمانی کاربرد دارد که با اطلاعاتی مثل فایل‌ها، تصاویر، صدا یا داده‌های شبکه سروکار داریم که در سطح کامپیوتر به صورت باینری ذخیره می‌شوند.

در پایتون، سه نوع داده‌ی اصلی برای کار با داده‌های باینری وجود دارد: “bytes”، “bytearray” و “memoryview”.

Bytes

نوع “bytes” برای نگهداری مجموعه‌ای از بایت‌ها استفاده می‌شود. این نوع داده قابل تغییر نیست؛ یعنی بعد از ساخته شدن نمی‌توان مقدار آن را تغییر داد.

data = b”Hello”

حرف “b” قبل از مقدار نشان می‌دهد که این داده از نوع بایت است.

Bytearray

نوع “bytearray” شبیه “bytes” است، اما قابل تغییر است. یعنی می‌توان بعد از ساخت آن، مقدار بایت‌های موجود را تغییر داد.

data = bytearray(b”Hello”)

Memoryview

نوع “memoryview” برای دسترسی به داده‌های باینری موجود در حافظه استفاده می‌شود. مزیت آن این است که برای دسترسی به داده‌ها لازم نیست یک کپی جدید از آن‌ها ساخته شود؛ بنابراین در بعضی برنامه‌ها می‌تواند به استفاده‌ی بهتر از حافظه کمک کند.

تفاوت و شباهت‌ها

هر سه نوع برای کار با داده‌های باینری و بایت‌ها استفاده می‌شوند، اما در نحوه‌ی کار با داده‌ها تفاوت دارند.

نوع “bytes” غیرقابل تغییر است، نوع “bytearray” قابل تغییر است و نوع “memoryview” برای دسترسی به داده‌های موجود در حافظه بدون ایجاد کپی جدید استفاده می‌شود.

پس اگر داده‌ی باینری ثابت داشته باشیم، “bytes” مناسب است. اگر بخواهیم داده‌ی باینری را تغییر دهیم، از “bytearray” استفاده می‌کنیم و اگر هدف دسترسی مستقیم و بهینه به داده‌های موجود در حافظه باشد، “memoryview” کاربرد دارد.