QtBase
v6.3.1
|
The QStringEncoder class provides a state-based encoder for text. \reentrant. More...
#include <qstringconverter.h>
Classes | |
struct | DecodedData |
Public Member Functions | |
QSTRINGCONVERTER_CONSTEXPR | QStringEncoder () |
QSTRINGCONVERTER_CONSTEXPR | QStringEncoder (Encoding encoding, Flags flags=Flag::Default) |
QStringEncoder (const char *name, Flags flags=Flag::Default) | |
Q_WEAK_OVERLOAD DecodedData< const QString & > | operator() (const QString &str) |
DecodedData< QStringView > | operator() (QStringView in) |
Q_WEAK_OVERLOAD DecodedData< const QString & > | encode (const QString &str) |
DecodedData< QStringView > | encode (QStringView in) |
qsizetype | requiredSpace (qsizetype inputLength) const |
char * | appendToBuffer (char *out, QStringView in) |
Public Member Functions inherited from QStringConverter | |
bool | isValid () const |
void | resetState () |
bool | hasError () const |
const char * | name () const |
Protected Member Functions | |
QSTRINGCONVERTER_CONSTEXPR | QStringEncoder (const Interface *i) |
Protected Member Functions inherited from QStringConverter | |
QSTRINGCONVERTER_CONSTEXPR | QStringConverter () |
QSTRINGCONVERTER_CONSTEXPR | QStringConverter (Encoding encoding, Flags f) |
QSTRINGCONVERTER_CONSTEXPR | QStringConverter (const Interface *i) |
Q_CORE_EXPORT | QStringConverter (const char *name, Flags f) |
Additional Inherited Members | |
Public Types inherited from QStringConverter | |
enum | Encoding { Utf8 , Utf16 , Utf16LE , Utf16BE , Utf32 , Utf32LE , Utf32BE , Latin1 , System , LastEncoding = System } |
Public Types inherited from QStringConverterBase | |
enum class | Flag { Default = 0 , Stateless = 0x1 , ConvertInvalidToNull = 0x2 , WriteBom = 0x4 , ConvertInitialBom = 0x8 } |
Static Public Member Functions inherited from QStringConverter | |
static Q_CORE_EXPORT std::optional< Encoding > | encodingForName (const char *name) |
static Q_CORE_EXPORT const char * | nameForEncoding (Encoding e) |
static Q_CORE_EXPORT std::optional< Encoding > | encodingForData (QByteArrayView data, char16_t expectedFirstCharacter=0) |
static Q_CORE_EXPORT std::optional< Encoding > | encodingForHtml (QByteArrayView data) |
Protected Attributes inherited from QStringConverter | |
const Interface * | iface |
State | state |
The QStringEncoder class provides a state-based encoder for text. \reentrant.
\inmodule QtCore
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:
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:
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.
Definition at line 193 of file qstringconverter.h.
Definition at line 196 of file qstringconverter.h.
|
inline |
Default constructs an encoder. The default encoder is not valid, and can't be used for converting text.
Definition at line 200 of file qstringconverter.h.
|
inline |
Creates an encoder object using encoding and flags.
Definition at line 203 of file qstringconverter.h.
|
inline |
Creates an encoder object using name and flags. If name is not the name of a known encoding an invalid converter will get created.
Definition at line 206 of file qstringconverter.h.
|
inline |
Encodes in and writes the encoded result into the buffer starting at out. Returns a pointer to the end of the data written.
Definition at line 237 of file qstringconverter.h.
|
inline |
Definition at line 229 of file qstringconverter.h.
|
inline |
Definition at line 231 of file qstringconverter.h.
|
inline |
Definition at line 224 of file qstringconverter.h.
|
inline |
Converts in and returns the data as a byte array.
Definition at line 226 of file qstringconverter.h.
Returns the maximum amount of characters required to be able to process inputLength decoded data.
Definition at line 235 of file qstringconverter.h.