Sorry, when I said NULL terminated, I meant with a 16 bit word sized NULL. I thought there might be some well known way to do this, but I guess not. There appears to be a way to call the unpack guts from XS, but no easy way to call any Encode bits, so I guess I'll be using unpack.