QStringEncoder — PyQt Documentation v6.9.0 (original) (raw)
PyQt6.QtCore.QStringEncoder
Inherits from QStringConverter.
Description¶
The QStringEncoder class provides a state-based encoder for text.
A text encoder converts text from Qt’s internal representation into an encoded text format using a specific encoding.
Converting a string from Unicode to the local encoding can be achieved using the following code:
QString string = "...";
auto fromUtf16 = QStringEncoder(QStringEncoder::Utf8);
QByteArray encodedString = fromUtf16(encodedString);
The encoder remembers any state that is required between calls, so converting data received in chunks, for example, when receiving it over a network, is just as easy, by calling the encoder whenever new data is available:
auto fromUtf16 = QStringEncoder(QStringEncoder::Utf8);
QByteArray encoded;
while (new_data_available()) {
QString chunk = get_new_data();
encoded += fromUtf16(chunk);
}
The QStringEncoder object maintains state between chunks and therefore works correctly even if a UTF-16 surrogate character is split between chunks.
QStringEncoder objects can’t be copied because of their internal state, but can be moved.
Methods¶
__init__()
Default constructs an encoder. The default encoder is not valid, and can’t be used for converting text.
__init__(Encoding, flags: Flag = Default)
TODO
__init__(Union[Union[QByteArray, bytes, bytearray, memoryview], Optional[str]], flags: Flag = Default)
TODO
__call__(str) → QByteArray
TODO
encode(str) → QByteArray
TODO