Buffer — это способ Node работать с сырыми бинарными данными — последовательность байтов фиксированной длины, хранящаяся вне кучи V8. Поскольку строки JavaScript предназначены для текста (Unicode), 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 — который вы затем можете декодировать в строку, если это текст, или обработать как бинарные данные, если это не текст.
