QTextDecoder Class

The QTextDecoder class provides a state-based decoder. \reentrant \ingroup i18n. More...

Header: #include <QTextDecoder>

Public Functions

QTextDecoder(const QTextCodec *codec)
QTextDecoder(const QTextCodec *codec, QTextCodec::ConversionFlags flags)
~QTextDecoder()
bool hasFailure() const
bool needsMoreData() const
QString toUnicode(const char *chars, int len)
QString toUnicode(const QByteArray &ba)
void toUnicode(QString *target, const char *chars, int len)

Detailed Description

\inmoduleQtCore5Compat

A text decoder converts text from an encoded text format into Unicode using a specific codec.

The decoder converts text in this format into Unicode, remembering any state that is required between calls.

See also QTextCodec::makeDecoder() and QTextEncoder.

Member Function Documentation

[explicit] QTextDecoder::QTextDecoder(const QTextCodec *codec)

Constructs a text decoder for the given codec.

[explicit] QTextDecoder::QTextDecoder(const QTextCodec *codec, QTextCodec::ConversionFlags flags)

Constructs a text decoder for the given codec and conversion flags.

\since4.7

[noexcept] QTextDecoder::~QTextDecoder()

Destroys the decoder.

bool QTextDecoder::hasFailure() const

\internal\since 4.3 Determines whether the decoder encountered a failure while decoding the input. If an error was encountered, the produced result is undefined, and gets converted as according to the conversion flags.

bool QTextDecoder::needsMoreData() const

\internal\since 5.12

Determines whether the decoder needs more bytes to continue decoding. That is, this signifies that the input string ended in the middle of a multi-byte sequence. Note that it's possible some codecs do not report this.

QString QTextDecoder::toUnicode(const char *chars, int len)

Converts the first len bytes in chars to Unicode, returning the result.

If not all characters are used (e.g. if only part of a multi-byte encoding is at the end of the characters), the decoder remembers enough state to continue with the next call to this function.

QString QTextDecoder::toUnicode(const QByteArray &ba)

This is an overloaded function.

Converts the bytes in the byte array specified by ba to Unicode and returns the result.

void QTextDecoder::toUnicode(QString *target, const char *chars, int len)

This is an overloaded function.

The converted string is returned in target.