use internal::setStringDirect instead of direct assignment
space alignment