It just seems superfluous since you get back `byte[]` from Redis anyways so you might as well store that as well (and the state is internal anyways). Could even call it `cursorAsBytes` and `cursorAsString`.
I use the binary form because I store binary data (gzip-encoded text) and thus can't use strings directly (because some byte sequences might be illegal) or use encoding (performance & memory overhead).