KCodecs
kcodecs.cpp
56 auto it = std::find_if(charsetCache.cbegin(), charsetCache.cend(), [&name](const QByteArray &charset) {
76 QByteArray updateEncodingCharset(const QByteArray ¤tCharset, const QByteArray &nextCharset)
233 QByteArray maybeCharset(charsetStart, (languageStart ? languageStart - 1 : scursor) - charsetStart);
278 if (*(scursor + 1) != '=') { // We expect a '=' after the '?', but we got something else; ignore
357 qWarning() << codec->name() << "codec lies about its maxDecodedSizeFor(" << encodedTextLength << ")\nresult may be truncated";
380 QString KCodecs::decodeRFC2047String(const QByteArray &src, QByteArray *usedCS, const QByteArray &defaultCS, CharsetOption charsetOption)
451 const QTextCodec *codec = KCharsets::charsets()->d->codecForName(QString::fromLatin1(charset), ok);
521 if (((c >= 'a') && (c <= 'z')) || // paranoid mode, encode *all* special chars to avoid problems
610 bool KCodecs::Codec::encode(const char *&scursor, const char *const send, char *&dcursor, const char *const dend, NewlineType newline) const
682 bool KCodecs::Codec::decode(const char *&scursor, const char *const send, char *&dcursor, const char *const dend, NewlineType newline) const
void append(const T &value)
QByteArray right(int len) const const
QByteArray fromUnicode(const QString &str) const const
const QChar * constData() const const
QString toUpper() const const
Defines the UUCodec class.
QString fromUtf8(const char *str, int size)
A class representing the codec for QuotedPrintable as specified in RFC2045 (section 6....
Definition: kcodecsqp.h:42
KCODECS_EXPORT QString decodeRFC2047String(const QString &text)
Decodes string text according to RFC2047, i.e., the construct =?charset?[qb]?encoded?...
Definition: kcodecs.cpp:374
Q_SCRIPTABLE Q_NOREPLY void start()
KCODECS_EXPORT QByteArray uudecode(const QByteArray &in)
Decodes the given data using the uudecode algorithm.
Definition: kcodecs.cpp:163
QByteArray toBase64(QByteArray::Base64Options options) const const
void clear()
Defines the Base64Codec and Rfc2047BEncodingCodec classes.
QHash::iterator insert(const Key &key, const T &value)
QTextCodec * codecForLocale()
QByteArray::iterator begin()
QByteArray mid(int pos, int len) const const
const KIMAP2_EXPORT QString decodeRFC2047String(const QString &str)
Decodes string text according to RFC2047, i.e., the construct =?charset?[qb]?encoded?...
Definition: kcodecs.cpp:374
QByteArray toUtf8() const const
int length() const const
QTextCodec * codecForName(const QByteArray &name)
KCODECS_EXPORT QByteArray base64Encode(const QByteArray &in)
Encodes the given data using the base64 algorithm.
Definition: kcodecs.cpp:117
Defines the classes QuotedPrintableCodec, Rfc2047QEncodingCodec, and Rfc2231EncodingCodec.
QTextStream & dec(QTextStream &stream)
QList::const_iterator cend() const const
virtual bool encode(const char *&scursor, const char *const send, char *&dcursor, const char *const dend, NewlineType newline=NewlineLF) const
Convenience wrapper that can be used for small chunks of data when you can provide a large enough buf...
Definition: kcodecs.cpp:610
KCODECS_EXPORT QByteArray base64Decode(const QByteArray &in)
Decodes the given data that was encoded using the base64 algorithm.
Definition: kcodecs.cpp:137
KCODECS_EXPORT QByteArray quotedPrintableEncode(const QByteArray &in, bool useCRLF=true)
Encodes the given data using the quoted-printable algorithm.
Definition: kcodecs.cpp:95
bool contains(char ch) const const
T & last()
IgnoreHeader
QString toLower() const const
QByteArray left(int len) const const
bool isEmpty() const const
bool flushOutputBuffer(char *&dcursor, const char *const dend)
Writes characters from the output buffer to the output stream.
Definition: kcodecs.cpp:740
bool writeCRLF(char *&dcursor, const char *const dend)
Convenience function.
Definition: kcodecs.cpp:760
void resize(int size)
KCODECS_EXPORT QByteArray uuencode(const QByteArray &in)
Encodes the given data using the uuencode algorithm.
Definition: kcodecs.cpp:149
const char * constData() const const
QString fromLatin1(const char *str, int size)
QString name(StandardShortcut id)
virtual bool decode(const char *&scursor, const char *const send, char *&dcursor, const char *const dend, NewlineType newline=NewlineLF) const
Convenience wrapper that can be used for small chunks of data when you can provide a large enough buf...
Definition: kcodecs.cpp:682
QList::const_iterator cbegin() const const
Encoder(Codec::NewlineType newline=Codec::NewlineLF)
Protected constructor.
Definition: kcodecs.cpp:714
A class representing the codec for the Q encoding as specified in RFC2047Q.
Definition: kcodecsqp.h:107
A class representing the codec for the B encoding as specified in RFC2047B.
Definition: kcodecsbase64.h:129
A wrapper class for the most commonly used encoding and decoding algorithms.
Definition: kcharsets.h:26
bool write(char ch, char *&dcursor, const char *const dend)
Writes character ch to the output stream or the output buffer, depending on whether or not the output...
Definition: kcodecs.cpp:721
int size() const const
int length() const const
An abstract base class of codecs for common mail transfer encodings.
Definition: kcodecs.h:387
Decoder(Codec::NewlineType newline=Codec::NewlineLF)
Protected constructor.
Definition: kcodecs.cpp:776
void truncate(int pos)
bool contains(QChar ch, Qt::CaseSensitivity cs) const const
A class representing the codec for Base64 as specified in RFC2045.
Definition: kcodecsbase64.h:48
QString toUnicode(const QByteArray &a) const const
QByteArray encodeRFC2047String(const QString &src, const QByteArray &charset)
Encodes string src according to RFC2047 using charset charset.
Definition: kcodecs.cpp:441
KCODECS_EXPORT QByteArray quotedPrintableDecode(const QByteArray &in)
Decodes a quoted-printable encoded data.
Definition: kcodecs.cpp:106
Definition: kcodecs.h:29
QByteArray::iterator end()
static Codec * codecForName(const char *name)
Returns a codec associated with the specified name.
Definition: kcodecs.cpp:586
char * data()
virtual QByteArray name() const const=0
Defines the classes IdentityCodec, SevenBitCodec, EightBitCodec, and BinaryCodec.
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Tue Nov 28 2023 04:00:52 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2023 The KDE developers.
Generated on Tue Nov 28 2023 04:00:52 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.