Buffer คือวิธีของ Node ในการจัดการ raw binary data — ลำดับไบต์ที่มีความยาวคงที่ที่เก็บไว้นอก V8 heap เนื่องจาก JavaScript strings ใช้สำหรับข้อความ (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 — ซึ่งคุณสามารถ decode เป็น string ได้หากเป็นข้อความ หรือประมวลผลเป็นไบนารีหากไม่ใช่
