Buffer là cách Node xử lý dữ liệu nhị phân thô — một dãy byte có độ dài cố định lưu bên ngoài heap của V8. Vì chuỗi JavaScript dành cho văn bản (Unicode), Buffer tồn tại để làm việc với nhị phân: nội dung file, gói tin mạng, ảnh, mã hóa, v.v.
Vì sao Buffer tồn tại
Chuỗi JavaScript → văn bản (UTF-16). Không biểu diễn sạch byte bất kỳ.
Buffer → byte thô (0–255 mỗi byte). Cho dữ liệu nhị phân không phải văn bản.
Khi bạn đọc một file hoặc nhận dữ liệu mạng, nó đến dưới dạng byte — một Buffer — mà bạn có thể giải mã sang chuỗi nếu là văn bản, hoặc xử lý như nhị phân nếu không.
