demote '_decodeSurrogate()' as well