CoreComponents 4.0.0
A Modern C++ Toolkit
Loading...
Searching...
No Matches
Base64 Class Reference

Base64 codec. More...

#include <cc/Base64>

Public Types

enum class  Padding { Auto = 0 , Mime = 1 , None = 2 }
 Padding mode. More...
 
enum class  Alphabet { Mime = 1 , UrlSafe = 2 }
 Base64 alphabet. More...
 

Static Public Member Functions

static String encode (const Bytes &data, Alphabet alphabet=Alphabet::Mime, Padding padding=Padding::Auto)
 Base64 encode data.
 
static String decode (const Bytes &text)
 Base64 decode text.
 
static long encodedSize (const Bytes &data, Padding padding=Padding::Mime)
 Return the encoded size of data when using the giving padding mode.
 
static long decodedSize (const Bytes &text)
 Return the decoded size of the Base64 encoded data text.
 

Detailed Description

Base64 codec.

Member Enumeration Documentation

◆ Padding

enum class Padding
strong

Padding mode.

Enumerator
Auto 

Automatically select a proper padding mode.

Mime 

Append up to 3 padding characters.

None 

Do not append any padding characters.

◆ Alphabet

enum class Alphabet
strong

Base64 alphabet.

Enumerator
Mime 

Classical Base64 alphabet.

UrlSafe 

Url-safe Base64 alphabet.

Member Function Documentation

◆ encode()

String encode ( const Bytes data,
Alphabet  alphabet = Alphabet::Mime,
Padding  padding = Padding::Auto 
)
static

Base64 encode data.

Parameters
dataBinary data to be Base64 encoded
alphabetBase64 alphabet
paddingPadding mode
Returns
Base64 encoded result

◆ decode()

String decode ( const Bytes text)
static

Base64 decode text.

Parameters
textBase64 encoded data
Returns
Decoded binary data

◆ encodedSize()

long encodedSize ( const Bytes data,
Padding  padding = Padding::Mime 
)
static

Return the encoded size of data when using the giving padding mode.

◆ decodedSize()

long decodedSize ( const Bytes text)
static

Return the decoded size of the Base64 encoded data text.