Buffer هي طريقة Node للتعامل مع البيانات الثنائية الخام — عبارة عن سلسلة بطول ثابت من البايتات مخزنة خارج heap الـ V8. بما أن سلاسل الأحرف (strings) في JavaScript مخصصة للنصوص (Unicode)، فإن الـ Buffers موجودة للعمل مع البيانات الثنائية: محتويات الملفات، حزم الشبكة، الصور، التشفير، إلخ.
لماذا توجد الـ Buffers
JavaScript strings → text (UTF-16). Can't cleanly represent arbitrary bytes.
Buffers → raw bytes (0–255 each). For binary data that isn't text.
عندما تقرأ ملفًا أو تستقبل بيانات من الشبكة، تصل كبايتات — كـ Buffer — والتي يمكنك بعد ذلك فك تشفيرها إلى نص إذا كانت نصية، أو معالجتها كبيانات ثنائية إذا لم تكن كذلك.
