login: 'asd',
password: '1234'
}
const r = Buffer.from(Buffer.from([0]).buffer).toString()
console.log(r)
А конкретно Buffer.from(Buffer.from([0]).buffer).toString()
возвращает часть исходного кода приложения?
кто-нибудь уже сталкивался с подобным поведением? Где можно почитать об этом? Очень интересно
выглядит как чтение содержимого памяти...
в документации https://nodejs.org/api/buffer.html#buffer_buf_buffer
Вот что сказал один умный человек: - менеджер памяти для рантайма js запрашивает у операционки большой кусок озу. Например, 2 мегабайта. Потом он нарезает эти 2 мб как ему угодно - например, выделил 8 кб под буффер исходного кода для парсинга - поигрался с ним, распарсил в AST и выкинул страницу 8кб, как ненужную - потом пришел запрос уже от кода "дай мне что-нибудь, чтобы вместить буффер", и ему прилетает эта же нынче свободная страница 8 кб - А почему мы с помощью API ноды получаем какие-то левые данные, а не те, которые мы в from уазали? Потому что .buffer - это сырой массив - данные лежат в буфере и ограничиваются им - в этом буфере ЛЕЖАТ твои данные, но по byteOffset и buf.length - а ArrayBuffer - это абстракция над сырым массивом байт, поверх которого работает все остальное, включая IntArray, FloatArray, Buffer и т.д.
большое спасибо, разжевали)
Обсуждают сегодня