StreamPeerBuffer seems to be working for me in 4.0 rc1:
var buffer := StreamPeerBuffer.new()
buffer.put_data([170, 75, 42, 123])
buffer.seek(0)
print(buffer.get_data(4)[1]) # prints [170, 75, 42, 123]
buffer.seek(2)
print(buffer.get_8()) # prints 42
buffer.seek(4)
buffer.put_data([234, 0, 128, 77])
buffer.seek(0)
print(buffer.get_data(buffer.get_size())[1]) # prints [170, 75, 42, 123, 234, 0, 128, 77]