diff options
Diffstat (limited to 'src/corelib/text/qstringconverter.cpp')
-rw-r--r-- | src/corelib/text/qstringconverter.cpp | 36 |
1 files changed, 32 insertions, 4 deletions
diff --git a/src/corelib/text/qstringconverter.cpp b/src/corelib/text/qstringconverter.cpp index efa625e30b..a960899e59 100644 --- a/src/corelib/text/qstringconverter.cpp +++ b/src/corelib/text/qstringconverter.cpp @@ -1790,7 +1790,7 @@ static qsizetype toLatin1Len(qsizetype l) { return l + 1; } operation, encoding UTF-16 encoded data (usually in the form of a QString) to the requested encoding. - The supported encodings are: + The following encodings are always supported: \list \li UTF-8 @@ -1804,6 +1804,10 @@ static qsizetype toLatin1Len(qsizetype l) { return l + 1; } \li The system encoding \endlist + QStringConverter may support more encodings depending on how Qt was + compiled. If more codecs are supported, they can be listed using + availableCodecs(). + \l {QStringConverter}s can be used as follows to convert some encoded string to and from UTF-16. @@ -1972,7 +1976,7 @@ struct QStringConverterICU : QStringConverter const void *context; ucnv_getToUCallBack(icu_conv, &action, &context); if (context != state) - ucnv_setToUCallBack(icu_conv, action, &state, nullptr, nullptr, &err); + ucnv_setToUCallBack(icu_conv, action, state, nullptr, nullptr, &err); ucnv_toUnicode(icu_conv, &target, targetLimit, &source, sourceLimit, nullptr, flush, &err); // We did reserve enough space: @@ -2005,7 +2009,7 @@ struct QStringConverterICU : QStringConverter const void *context; ucnv_getFromUCallBack(icu_conv, &action, &context); if (context != state) - ucnv_setFromUCallBack(icu_conv, action, &state, nullptr, nullptr, &err); + ucnv_setFromUCallBack(icu_conv, action, state, nullptr, nullptr, &err); ucnv_fromUnicode(icu_conv, &target, targetLimit, &source, sourceLimit, nullptr, flush, &err); // We did reserve enough space: @@ -2243,7 +2247,7 @@ std::optional<QStringConverter::Encoding> QStringConverter::encodingForName(cons if (nameMatch(encodingInterfaces[i].name, name)) return QStringConverter::Encoding(i); } - if (nameMatch(name, "latin1")) + if (nameMatch("latin1", name)) return QStringConverter::Latin1; return std::nullopt; } @@ -2375,6 +2379,10 @@ static qsizetype availableCodecCount() QStringDecoder's constructor to create a en- or decoder for the given codec. + This function may be used to obtain a listing of additional codecs beyond + the standard ones. Support for additional codecs requires Qt be compiled + with support for the ICU library. + \note The order of codecs is an internal implementation detail and not guaranteed to be stable. */ @@ -2502,6 +2510,16 @@ const char *QStringConverter::nameForEncoding(QStringConverter::Encoding e) */ /*! + \fn constexpr QStringEncoder::QStringEncoder(const QString &name, Flags flags = Flag::Default) + \since 6.8 + + Creates an encoder object using \a name and \a flags. + If \a name is not the name of a known encoding an invalid converter will get created. + + \sa isValid() +*/ + +/*! \fn QStringEncoder::DecodedData<const QString &> QStringEncoder::encode(const QString &in) \fn QStringEncoder::DecodedData<QStringView> QStringEncoder::encode(QStringView in) \fn QStringEncoder::DecodedData<const QString &> QStringEncoder::operator()(const QString &in) @@ -2593,6 +2611,16 @@ const char *QStringConverter::nameForEncoding(QStringConverter::Encoding e) */ /*! + \fn constexpr QStringDecoder::QStringDecoder(const QString &name, Flags flags = Flag::Default) + \since 6.8 + + Creates an decoder object using \a name and \a flags. + If \a name is not the name of a known encoding an invalid converter will get created. + + \sa isValid() +*/ + +/*! \fn QStringDecoder::EncodedData<const QByteArray &> QStringDecoder::operator()(const QByteArray &ba) \fn QStringDecoder::EncodedData<const QByteArray &> QStringDecoder::decode(const QByteArray &ba) \fn QStringDecoder::EncodedData<QByteArrayView> QStringDecoder::operator()(QByteArrayView ba) |