implement no-padding version of _decode()