parse nul bytes in strings - and steal them for half the mallocs!