This commit is contained in:
2025-09-29 08:19:13 +05:00
parent 7e7bd195a9
commit b3f67a38de
2 changed files with 109 additions and 0 deletions

23
include/tlibc/base64.h Normal file
View File

@@ -0,0 +1,23 @@
#pragma once
#include "tlibc/std.h"
/// @param src_size size of data to encode
/// @return number of encoded characters. Is a multiple of 4.
u32 base64_encodedSize(u32 src_size);
/// @param src data to encode
/// @param src_size size of data to encode
/// @param dst buffer of size base64_encodedSize(src_size)
/// @return number of encoded characters. Is a multiple of 4.
u32 base64_encode(const u8* src, u32 src_size, char* dst);
/// @param src data to decode
/// @param src_size size of data to decode. Must be a multiple of 4 for valid base64 data.
/// @return number of decoded characters or 0 on error
u32 base64_decodedSize(const char* src, u32 src_size);
/// @param src data to decode
/// @param src_size size of data to decode. Must be a multiple of 4 for valid base64 data.
/// @param dst buffer of size base64_decodedSize(src, src_size)
/// @return number of decoded characters or 0 on error
u32 base64_decode(const u8* src, u32 src_size, u8* dst);