Что такое буфер в Node.js?
Как вы можете прочитать в Node.js документации по классу Buffer, буфер
похож на массив целых чисел, но соответствует распределению необработанной памяти вне кучи V8.
До сих пор так хорошо.
Что меня сейчас озадачивает, так это вопрос о том, какой буфер технически говорит. Является ли это массивом с некоторыми дополнительными функциями для создания и преобразования в строки с использованием определенных кодировок?
Или там "больше"?
Ответы
Ответ 1
Буфер - это кусок памяти, как и у вас на C/С++. Вы можете интерпретировать эту память как массив целых чисел или чисел с плавающей запятой различной длины или как двоичную строку. В отличие от структур данных более высокого уровня, таких как массивы, буфер не изменяется.
Это примерно соответствует:
-
char*
или char[]
в C/С++
-
byte[]
в Java
- Измененный
bytes
или не изменяемый размер bytearray
в Python
- Строки в php, если они изменяются
Ответ 2
BUFFER
- временное место для хранения данных, перемещаемых из одного места в другое.
Чтобы понять, что такое Buffer, нам нужно знать, как компьютер будет обрабатывать вещи. См. Таблицу ниже. ![]()
Концепция похожа, если вы смотрите Youtube Video, вы можете начать смотреть видео без загрузки всего видео. Если ваша скорость в Интернете слишком медленная, вы увидите "буферизацию", это означает, что компьютер пытается собрать данные, чтобы вы могли смотреть это видео.
Ответ 3
Объяснение из http://nodejitsu.com/...
Буферы являются экземплярами класса Buffer в node, который разработан для обработки необработанных двоичных данных. Каждый буфер соответствует некоторой необработанной памяти выделенных вне V8. Буферы действуют как массивы целых чисел, но не изменяются по размеру и имеют целую кучу методов конкретно для двоичных данных. Кроме того, "целые числа" в буфере каждый представляют собой байты и поэтому ограничены значениями от 0 до 255 (2 ^ 8 - 1), включительно.
Подробнее: Буферы в Node.js