Un Buffer es la forma de Node de manejar datos binarios en crudo — una secuencia de bytes de longitud fija almacenada fuera del heap de V8. Como los strings de JavaScript son para texto (Unicode), los Buffers existen para trabajar con binario: contenido de archivos, paquetes de red, imágenes, cifrado, etc.
Por qué existen los Buffers
Strings de JavaScript → texto (UTF-16). No pueden representar bytes arbitrarios de forma limpia.
Buffers → bytes en crudo (0–255 cada uno). Para datos binarios que no son texto.
Cuando lees un archivo o recibes datos de red, llegan como bytes — un Buffer — que luego puedes decodificar a un string si es texto, o procesar como binario si no lo es.
