Um Buffer é a forma do Node lidar com dados binários brutos — uma sequência de bytes com comprimento fixo armazenada fora da heap V8. Como strings JavaScript são para texto (Unicode), Buffers existem para trabalhar com binários: conteúdo de arquivos, pacotes de rede, imagens, criptografia, etc.
Por que isso importa
JavaScript strings → text (UTF-16). Can't cleanly represent arbitrary bytes.
Buffers → raw bytes (0–255 each). For binary data that isn't text.
Quando você lê um arquivo ou recebe dados de rede, eles chegam como bytes — um Buffer — que você pode então decodificar para uma string se for texto, ou processar como binário se não for.
