buf.slice([start[, end]])
start <Number> Default: 0
end <Number> Default: buffer.length
Return: <Buffer>
Returns a new Buffer that references the same memory as the original, but offset and cropped by the start and end indices.
Note that modifying the new Buffer slice will modify the memory in the original Buffer because the allocated memory of the two objects overlap.
Example: build a Buffer with the ASCII alphabet, take a slice, then modify one byte from the original