class QStringEncoder

The QStringEncoder class provides a state-based encoder for text. More

Inheritance diagram of PySide6.QtCore.QStringEncoder

Synopsis

Methods

Note

This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE

Detailed Description

Warning

This section contains snippets that were automatically translated from C++ to Python and may contain errors.

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:

string = "..."
fromUtf16 = QStringEncoder(QStringEncoder.Utf8)
encodedString = fromUtf16(string)

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:

fromUtf16 = QStringEncoder(QStringEncoder.Utf8)
encoded = QByteArray()
while new_data_available():
    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.

__init__()

Default constructs an encoder. The default encoder is not valid, and can’t be used for converting text.

__init__(name[, flags=QStringConverterBase.Flag.Default])
Parameters:
  • name – str

  • flags – Combination of Flag

__init__(encoding[, flags=QStringConverterBase.Flag.Default])
Parameters:
requiredSpace(inputLength)
Parameters:

inputLength – int

Return type:

int

Returns the maximum amount of characters required to be able to process inputLength decoded data.

See also

appendToBuffer()