KCodecs
kcodecsqp.cpp
Go to the documentation of this file.
31const uchar eTextMap[16] = {0x00, 0x00, 0x00, 0x00, 0x40, 0x35, 0xFF, 0xC0, 0x7F, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, 0xFF, 0xE0};
137 bool encode(const char *&scursor, const char *const send, char *&dcursor, const char *const dend) override;
170 QuotedPrintableDecoder(Codec::NewlineType newline = Codec::NewlineLF, bool aQEncoding = false, char aEscapeChar = '=')
189 bool decode(const char *&scursor, const char *const send, char *&dcursor, const char *const dend) override;
239 bool encode(const char *&scursor, const char *const send, char *&dcursor, const char *const dend) override;
245static qsizetype QuotedPrintableDecoder_maxDecodedSizeFor(qsizetype insize, Codec::NewlineType newline)
270qsizetype QuotedPrintableCodec::maxDecodedSizeFor(qsizetype insize, Codec::NewlineType newline) const
285qsizetype Rfc2047QEncodingCodec::maxDecodedSizeFor(qsizetype insize, Codec::NewlineType newline) const
300qsizetype Rfc2231EncodingCodec::maxDecodedSizeFor(qsizetype insize, Codec::NewlineType newline) const
309bool QuotedPrintableDecoder::decode(const char *&scursor, const char *const send, char *&dcursor, const char *const dend)
487 for (; (mInputBufferWriteCursor + 1) % 16 != mInputBufferReadCursor && scursor != send; mInputBufferWriteCursor++) {
601bool QuotedPrintableEncoder::encode(const char *&scursor, const char *const send, char *&dcursor, const char *const dend)
677bool Rfc2047QEncodingEncoder::encode(const char *&scursor, const char *const send, char *&dcursor, const char *const dend)
Stateful CTE decoder class.
Stateful encoder class.
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:656
bool flushOutputBuffer(char *&dcursor, const char *const dend)
Writes characters from the output buffer to the output stream.
Definition kcodecs.cpp:675
bool writeCRLF(char *&dcursor, const char *const dend)
Convenience function.
Definition kcodecs.cpp:695
A class representing the codec for QuotedPrintable as specified in RFC2045 (section 6....
Definition kcodecsqp.h:43
qsizetype maxDecodedSizeFor(qsizetype insize, NewlineType newline=Codec::NewlineLF) const override
Definition kcodecsqp.cpp:270
Encoder * makeEncoder(NewlineType newline=Codec::NewlineLF) const override
Definition kcodecsqp.cpp:260
Decoder * makeDecoder(NewlineType newline=Codec::NewlineLF) const override
Definition kcodecsqp.cpp:265
A class representing the codec for the Q encoding as specified in RFC2047Q.
Definition kcodecsqp.h:108
Encoder * makeEncoder(Codec::NewlineType newline=Codec::NewlineLF) const override
Definition kcodecsqp.cpp:275
qsizetype maxDecodedSizeFor(qsizetype insize, Codec::NewlineType newline=Codec::NewlineLF) const override
Definition kcodecsqp.cpp:285
Decoder * makeDecoder(Codec::NewlineType newline=Codec::NewlineLF) const override
Definition kcodecsqp.cpp:280
qsizetype maxDecodedSizeFor(qsizetype insize, Codec::NewlineType newline=Codec::NewlineLF) const override
Definition kcodecsqp.cpp:300
Decoder * makeDecoder(Codec::NewlineType newline=Codec::NewlineLF) const override
Definition kcodecsqp.cpp:295
Encoder * makeEncoder(Codec::NewlineType newline=Codec::NewlineLF) const override
Definition kcodecsqp.cpp:290
This file is part of the API for handling MIME data and defines the QuotedPrintable,...
A wrapper class for the most commonly used encoding and decoding algorithms.
Definition kcodecs.cpp:41
static uchar lowNibble(uchar ch)
Returns the low-order 4 bits of an 8-bit value in another 8-bit value.
Definition kcodecsqp.cpp:63
static uchar highNibble(uchar ch)
Returns the high-order 4 bits of an 8-bit value in another 8-bit value.
Definition kcodecsqp.cpp:54
static bool keep(uchar ch)
Returns true if the specified value is a not Control character or question mark; else true.
Definition kcodecsqp.cpp:73
static char binToHex(uchar value)
Converts a 4-bit value into its hexadecimal characater representation.
Definition kcodecsqp.cpp:41
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Nov 22 2024 12:08:36 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Nov 22 2024 12:08:36 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.