|
#define | WGET_BASE64_URLENCODE 1 |
|
|
bool | wget_base64_is_string (const char *src) |
|
size_t | wget_base64_decode (char *dst, const char *src, size_t n) |
|
char * | wget_base64_decode_alloc (const char *src, size_t n, size_t *outlen) |
|
size_t | wget_base64_encode (char *dst, const char *src, size_t n) |
|
size_t | wget_base64_urlencode (char *dst, const char *src, size_t n) |
|
char * | wget_base64_encode_alloc (const char *src, size_t n) |
|
char * | wget_base64_encode_vprintf_alloc (const char *fmt, va_list args) |
|
char * | wget_base64_encode_printf_alloc (const char *fmt,...) |
|
size_t | wget_base64_get_decoded_length (size_t len) |
|
size_t | wget_base64_get_encoded_length (size_t len) |
|
This is a collection base64 encoding/decoding functions used in Wget2.
◆ wget_base64_is_string()
bool wget_base64_is_string |
( |
const char * |
src | ) |
|
- Parameters
-
[in] | src | String to be checked |
- Returns
- 1 if
src
is a base64 string, 0 otherwise
Checks whether src
is a base64 string. Returns 0 if src
is NULL.
◆ wget_base64_decode()
size_t wget_base64_decode |
( |
char * |
dst, |
|
|
const char * |
src, |
|
|
size_t |
n |
|
) |
| |
- Parameters
-
[out] | dst | Output buffer |
[in] | src | Base64 string to be decoded |
[in] | n | Length of src |
- Returns
- Number of bytes written into
dst
Decodes n
bytes of the base64 string src
. The decoded bytes are written into dst
and are 0-terminated.
The size of dst
has to be at minimum ((n
+ 3) / 4) * 3 + 1 bytes.
◆ wget_base64_decode_alloc()
char * wget_base64_decode_alloc |
( |
const char * |
src, |
|
|
size_t |
n, |
|
|
size_t * |
outlen |
|
) |
| |
- Parameters
-
[in] | src | Base64 string to be decoded |
[in] | n | Length of src |
[out] | outlen | Length of returned string, may be NULL. |
- Returns
- Decoded bytes, zero terminated. Returns NULL if memory allocation failed.
Decodes n
bytes of the base64 string src
. The decoded bytes are returned in an allocated buffer.
You should free() the returned string when not needed any more.
◆ wget_base64_encode()
size_t wget_base64_encode |
( |
char * |
dst, |
|
|
const char * |
src, |
|
|
size_t |
n |
|
) |
| |
- Parameters
-
[out] | dst | Base64 output string |
[in] | src | Input buffer |
[in] | n | Number of bytes to be encoded |
- Returns
- Length of output string
dst
Encodes n
bytes from src
into a base64 string. The encoded string is written into dst
(0-terminated).
The length of dst
has to be at minimum ((n
+ 2) / 3) * 4 + 1 bytes.
◆ wget_base64_urlencode()
size_t wget_base64_urlencode |
( |
char * |
dst, |
|
|
const char * |
src, |
|
|
size_t |
n |
|
) |
| |
- Parameters
-
[out] | dst | Base64 output string (URL and filename safe) |
[in] | src | Input buffer |
[in] | n | Number of bytes to be encoded |
- Returns
- Length of output string
dst
Encodes n
bytes from src
into a base64 URL and filename safe string (see RFC 4648, 5.). The encoded string is written into dst
(0-terminated).
The length of dst
has to be at minimum ((n
+ 2) / 3) * 4 + 1 bytes.
◆ wget_base64_encode_alloc()
char * wget_base64_encode_alloc |
( |
const char * |
src, |
|
|
size_t |
n |
|
) |
| |
- Parameters
-
[in] | src | Input buffer |
[in] | n | Number of bytes to be encoded |
- Returns
- Base64 encoded string or NULL if memory allocation failed
Encodes n
bytes from input buffer src
. The encoded string is returned in an allocated buffer.
You should free() the returned string when not needed any more.
◆ wget_base64_encode_vprintf_alloc()
char * wget_base64_encode_vprintf_alloc |
( |
const char * |
fmt, |
|
|
va_list |
args |
|
) |
| |
- Parameters
-
[in] | fmt | Printf-like format string |
[in] | args | Argument list |
- Returns
- Base64 encoded string
Encodes the string constructed by fmt
and args
. The encoded string is returned in an allocated buffer.
You should free() the returned string when not needed any more.
◆ wget_base64_encode_printf_alloc()
char * wget_base64_encode_printf_alloc |
( |
const char * |
fmt, |
|
|
|
... |
|
) |
| |
- Parameters
-
[in] | fmt | Printf-like format string |
[in] | ... | Argument list |
- Returns
- Base64 encoded string
Encodes the string constructed by fmt
and the arguments. The encoded string is returned in an allocated buffer.
You should free() the returned string when not needed any more.
◆ wget_base64_get_decoded_length()
static inline size_t wget_base64_get_decoded_length |
( |
size_t |
len | ) |
|
- Parameters
-
[in] | len | Length of base64 sequence |
- Returns
- Number of decoded bytes plus one (for 0-byte termination)
Calculate the number of bytes needed for decoding a base64 sequence with length len
.
◆ wget_base64_get_encoded_length()
static inline size_t wget_base64_get_encoded_length |
( |
size_t |
len | ) |
|
- Parameters
-
[in] | len | Number of (un-encoded) bytes |
- Returns
- Length of base64 encoding plus one (for 0-byte termination)
Calculate the number of bytes needed for base64 encoding a byte sequence with length len
, including the padding and 0-termination bytes.