#include <cppcodec/base32_crockford.hpp>
#include <cppcodec/base64_rfc4648.hpp>

#include <stdio.h>
#include <string>
#include <iostream>
#include <sstream>

// https://github.com/tplgy/cppcodec

// cppcodec
int main(int argc, char* argv[])
{
	using base32 = cppcodec::base32_crockford;
	using base64 = cppcodec::base64_rfc4648;

	const char* binary_data = "Hello World\0";

	auto enc = base64::encode(binary_data, strlen(binary_data));
	auto dec = base64::decode(enc);

	std::string str(dec.begin(), dec.end());

	printf("%s\n", binary_data);
	printf("%s\n", enc.c_str());
	printf("%s\n", str.c_str());

	return 0;
}