JSON supports UTF-16, however the serializer is 8-bit clean. Instead of returning a QString only to turn it back into a QByteArray, return a QByteArray on serialization.