KCodecs
Classes | |
class | Base64Codec |
class | Codec |
class | Decoder |
class | Encoder |
class | QuotedPrintableCodec |
class | Rfc2047BEncodingCodec |
class | Rfc2047QEncodingCodec |
class | Rfc2231EncodingCodec |
class | UUCodec |
Enumerations | |
enum | CharsetOption { NoOption = 0 , ForceDefaultCharset = 1 } |
Functions | |
KCODECS_EXPORT QByteArray | base45Decode (QByteArrayView in) |
KCODECS_EXPORT QByteArray | base64Decode (QByteArrayView in) |
KCODECS_EXPORT void | base64Decode (QByteArrayView in, QByteArray &out) |
KCODECS_EXPORT QByteArray | base64Encode (QByteArrayView in) |
KCODECS_EXPORT void | base64Encode (QByteArrayView in, QByteArray &out, bool insertLFs=false) |
static char | binToHex (uchar value) |
QByteArray | cachedCharset (const QByteArray &name) |
KCODECS_EXPORT QString | decodeRFC2047String (QByteArrayView src, QByteArray *usedCS, const QByteArray &defaultCS=QByteArray(), CharsetOption option=NoOption) |
KCODECS_EXPORT QString | decodeRFC2047String (QStringView text) |
KCODECS_EXPORT QByteArray | encodeRFC2047String (QStringView src, const QByteArray &charset) |
static uchar | highNibble (uchar ch) |
static bool | keep (uchar ch) |
static uchar | lowNibble (uchar ch) |
KCODECS_EXPORT QByteArray | quotedPrintableDecode (QByteArrayView in) |
KCODECS_EXPORT void | quotedPrintableDecode (QByteArrayView in, QByteArray &out) |
static qsizetype | QuotedPrintableDecoder_maxDecodedSizeFor (qsizetype insize, Codec::NewlineType newline) |
KCODECS_EXPORT QByteArray | quotedPrintableEncode (QByteArrayView in, bool useCRLF=true) |
KCODECS_EXPORT void | quotedPrintableEncode (QByteArrayView in, QByteArray &out, bool useCRLF) |
QByteArray | updateEncodingCharset (const QByteArray ¤tCharset, const QByteArray &nextCharset) |
static uchar | uuDecode (uchar c) |
KCODECS_EXPORT QByteArray | uudecode (QByteArrayView in) |
KCODECS_EXPORT void | uudecode (QByteArrayView in, QByteArray &out) |
Variables | |
static QList< QByteArray > | charsetCache |
const uchar | eTextMap [16] = {0x00, 0x00, 0x00, 0x00, 0x40, 0x35, 0xFF, 0xC0, 0x7F, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, 0xFF, 0xE0} |
Detailed Description
A wrapper class for the most commonly used encoding and decoding algorithms.
Currently there is support for encoding and decoding input using base64, uu and the quoted-printable specifications.
Usage:
Output should be Result: QWxhZGRpbjpvcGVuIHNlc2FtZQ==
The above example makes use of the convenience functions (ones that accept/return null-terminated strings) to encode/decode a string. If what you need is to encode or decode binary data, then it is highly recommended that you use the functions that take an input and output QByteArray as arguments. These functions are specifically tailored for encoding and decoding binary data.
A collection of commonly used encoding and decoding algorithms.
Enumeration Type Documentation
◆ CharsetOption
Function Documentation
◆ base45Decode()
QByteArray KCodecs::base45Decode | ( | QByteArrayView | in | ) |
Decodes the given data that was encoded using the base45 codec.
- Parameters
-
in data to be decoded.
- Returns
- decoded string.
- Since
- 5.84
Definition at line 25 of file kcodecsbase45.cpp.
◆ base64Decode() [1/2]
QByteArray KCodecs::base64Decode | ( | QByteArrayView | in | ) |
Decodes the given data that was encoded using the base64 algorithm.
- Parameters
-
in data to be decoded.
- Returns
- decoded string.
Definition at line 119 of file kcodecs.cpp.
◆ base64Decode() [2/2]
void KCodecs::base64Decode | ( | QByteArrayView | in, |
QByteArray & | out ) |
Decodes the given data that was encoded with the base64 algorithm.
Use this function if you want the result of the decoding to be placed in another array which cuts down the number of copy operation that have to be performed in the process. This is also the preferred method for decoding an encoded binary data.
NOTE: the output array is first reset and then resized appropriately before use, hence, all data stored in the output array will be lost.
- Parameters
-
in data to be decoded. out decoded data.
Definition at line 125 of file kcodecs.cpp.
◆ base64Encode() [1/2]
QByteArray KCodecs::base64Encode | ( | QByteArrayView | in | ) |
Encodes the given data using the base64 algorithm.
The boolean argument determines if the encoded data is going to be restricted to 76 characters or less per line as specified by RFC 2045. If insertLFs
is true, then there will be 76 characters or less per line.
- Parameters
-
in data to be encoded. insertLFs limit the number of characters per line.
- Returns
- base64 encoded string.
- Since
- 5.5
Definition at line 107 of file kcodecs.cpp.
◆ base64Encode() [2/2]
void KCodecs::base64Encode | ( | QByteArrayView | in, |
QByteArray & | out, | ||
bool | insertLFs = false ) |
Encodes the given data using the base64 algorithm.
Use this function if you want the result of the encoding to be placed in another array which cuts down the number of copy operation that have to be performed in the process. This is also the preferred method for encoding binary data.
The boolean argument determines if the encoded data is going to be restricted to 76 characters or less per line as specified by RFC 2045. If insertLFs
is true, then there will be 76 characters or less per line.
NOTE: the output array is first reset and then resized appropriately before use, hence, all data stored in the output array will be lost.
- Parameters
-
in data to be encoded. out encoded data. insertLFs limit the number of characters per line.
Definition at line 113 of file kcodecs.cpp.
◆ binToHex()
|
inlinestatic |
Converts a 4-bit value
into its hexadecimal characater representation.
So input of value [0,15] returns ['0','1',... 'F']. Input values greater than 15 will produce undesired results.
- Parameters
-
value is an unsigned character containing the 4-bit input value.
Definition at line 41 of file kcodecsqp.cpp.
◆ cachedCharset()
QByteArray KCodecs::cachedCharset | ( | const QByteArray & | name | ) |
Definition at line 44 of file kcodecs.cpp.
◆ decodeRFC2047String() [1/2]
QString KCodecs::decodeRFC2047String | ( | QByteArrayView | src, |
QByteArray * | usedCS, | ||
const QByteArray & | defaultCS = QByteArray(), | ||
CharsetOption | option = NoOption ) |
Decodes string src
according to RFC2047, i.e.
the construct =?charset?[qb]?encoded?=
- Parameters
-
src source string. usedCS the name of any detected charset or, in case of multiple different ones, "UTF-8" as that of a super charset is returned here defaultCS the charset to use in case the detected one isn't known to us. option options for the encoder
- Returns
- the decoded string.
- Since
- 5.5
Definition at line 346 of file kcodecs.cpp.
◆ decodeRFC2047String() [2/2]
QString KCodecs::decodeRFC2047String | ( | QStringView | text | ) |
Decodes string text
according to RFC2047, i.e., the construct =?charset?[qb]?encoded?=.
- Parameters
-
text source string
- Returns
- the decoded string
Definition at line 340 of file kcodecs.cpp.
◆ encodeRFC2047String()
QByteArray KCodecs::encodeRFC2047String | ( | QStringView | src, |
const QByteArray & | charset ) |
Encodes string src
according to RFC2047 using charset charset
.
This function also makes commas, quotes and other characters part of the encoded name, for example the string "Jöhn Döe" <john@.nosp@m.exam.nosp@m.ple.c.nosp@m.om"> would be encoded as <encoded word for "Jöhn Döe"> john@.nosp@m.exam.nosp@m.ple.c.nosp@m.om, i.e. the opening and closing quote mark would be part of the encoded word. Therefore don't use this function for input strings that contain semantically meaningful characters, like the quoting marks in this example.
- Parameters
-
src source string. charset charset to use. If it can't encode the string, UTF-8 will be used instead.
- Returns
- the encoded string.
- Since
- 5.5
Definition at line 407 of file kcodecs.cpp.
◆ highNibble()
|
inlinestatic |
Returns the high-order 4 bits of an 8-bit value in another 8-bit value.
- Parameters
-
ch is an unsigned character containing the 8-bit input value.
Definition at line 54 of file kcodecsqp.cpp.
◆ keep()
|
inlinestatic |
Returns true if the specified value is a not Control character or question mark; else true.
- Parameters
-
ch is an unsigned character containing the 8-bit input value.
Definition at line 73 of file kcodecsqp.cpp.
◆ lowNibble()
|
inlinestatic |
Returns the low-order 4 bits of an 8-bit value in another 8-bit value.
- Parameters
-
ch is an unsigned character containing the 8-bit input value.
Definition at line 63 of file kcodecsqp.cpp.
◆ quotedPrintableDecode() [1/2]
QByteArray KCodecs::quotedPrintableDecode | ( | QByteArrayView | in | ) |
Decodes a quoted-printable encoded data.
Accepts data with CRLF or standard unix line breaks.
- Parameters
-
in data to be decoded.
- Returns
- decoded string.
- Since
- 5.5
Definition at line 96 of file kcodecs.cpp.
◆ quotedPrintableDecode() [2/2]
void KCodecs::quotedPrintableDecode | ( | QByteArrayView | in, |
QByteArray & | out ) |
Decodes a quoted-printable encoded data.
Accepts data with CRLF or standard unix line breaks. Use this function if you want the result of the decoding to be placed in another array which cuts down the number of copy operation that have to be performed in the process. This is also the preferred method for decoding an encoded binary data.
NOTE: the output array is first reset and then resized appropriately before use, hence, all data stored in the output array will be lost.
- Parameters
-
in data to be decoded. out decoded data.
Definition at line 102 of file kcodecs.cpp.
◆ QuotedPrintableDecoder_maxDecodedSizeFor()
|
static |
Definition at line 245 of file kcodecsqp.cpp.
◆ quotedPrintableEncode() [1/2]
QByteArray KCodecs::quotedPrintableEncode | ( | QByteArrayView | in, |
bool | useCRLF = true ) |
Encodes the given data using the quoted-printable algorithm.
- Parameters
-
in data to be encoded. useCRLF if true the input data is expected to have CRLF line breaks and the output will have CRLF line breaks, too.
- Returns
- quoted-printable encoded string.
Definition at line 85 of file kcodecs.cpp.
◆ quotedPrintableEncode() [2/2]
void KCodecs::quotedPrintableEncode | ( | QByteArrayView | in, |
QByteArray & | out, | ||
bool | useCRLF ) |
Encodes the given data using the quoted-printable algorithm.
Use this function if you want the result of the encoding to be placed in another array which cuts down the number of copy operation that have to be performed in the process. This is also the preferred method for encoding binary data.
NOTE: the output array is first reset and then resized appropriately before use, hence, all data stored in the output array will be lost.
- Parameters
-
in data to be encoded. out encoded data. useCRLF if true the input data is expected to have CRLF line breaks and the output will have CRLF line breaks, too.
Definition at line 91 of file kcodecs.cpp.
◆ updateEncodingCharset()
QByteArray KCodecs::updateEncodingCharset | ( | const QByteArray & | currentCharset, |
const QByteArray & | nextCharset ) |
Definition at line 66 of file kcodecs.cpp.
◆ uuDecode()
|
inlinestatic |
Definition at line 120 of file kcodecsuuencode.cpp.
◆ uudecode() [1/2]
QByteArray KCodecs::uudecode | ( | QByteArrayView | in | ) |
Decodes the given data using the uudecode algorithm.
Any 'begin' and 'end' lines like those generated by the utilities in unix and unix-like OS will be automatically ignored.
- Parameters
-
in data to be decoded.
- Returns
- decoded string.
Definition at line 130 of file kcodecs.cpp.
◆ uudecode() [2/2]
void KCodecs::uudecode | ( | QByteArrayView | in, |
QByteArray & | out ) |
Decodes the given data using the uudecode algorithm.
Use this function if you want the result of the decoding to be placed in another array which cuts down the number of copy operation that have to be performed in the process. This is the preferred method for decoding binary data.
Any 'begin' and 'end' lines like those generated by the utilities in unix and unix-like OS will be automatically ignored.
NOTE: the output array is first reset and then resized appropriately before use, hence, all data stored in the output array will be lost.
- Parameters
-
in data to be decoded. out uudecoded data.
Definition at line 136 of file kcodecs.cpp.
Variable Documentation
◆ charsetCache
|
static |
Definition at line 42 of file kcodecs.cpp.
◆ eTextMap
const uchar KCodecs::eTextMap[16] = {0x00, 0x00, 0x00, 0x00, 0x40, 0x35, 0xFF, 0xC0, 0x7F, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, 0xFF, 0xE0} |
Definition at line 31 of file kcodecsqp.cpp.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Mon Nov 18 2024 12:18:52 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.