there are probably better ways to address the failings of node's string/buffer surface