#ifndef BASE64_H #define BASE64_H #include static const unsigned char B64EncodeTable[64] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/' }; static const unsigned char B64DecodeTable[256] = { '\177', '\177', '\177', '\177', '\177', '\177', '\177', '\177', /* 000-007 */ '\177', '\177', '\177', '\177', '\177', '\177', '\177', '\177', /* 010-017 */ '\177', '\177', '\177', '\177', '\177', '\177', '\177', '\177', /* 020-027 */ '\177', '\177', '\177', '\177', '\177', '\177', '\177', '\177', /* 030-037 */ '\177', '\177', '\177', '\177', '\177', '\177', '\177', '\177', /* 040-047 */ '\177', '\177', '\177', '\76', '\177', '\177', '\177', '\77', /* 050-057 */ '\64', '\65', '\66', '\67', '\70', '\71', '\72', '\73', /* 060-067 */ '\74', '\75', '\177', '\177', '\177', '\100', '\177', '\177', /* 070-077 */ '\177', '\0', '\1', '\2', '\3', '\4', '\5', '\6', /* 100-107 */ '\7', '\10', '\11', '\12', '\13', '\14', '\15', '\16', /* 110-117 */ '\17', '\20', '\21', '\22', '\23', '\24', '\25', '\26', /* 120-127 */ '\27', '\30', '\31', '\177', '\177', '\177', '\177', '\177', /* 130-137 */ '\177', '\32', '\33', '\34', '\35', '\36', '\37', '\40', /* 140-147 */ '\41', '\42', '\43', '\44', '\45', '\46', '\47', '\50', /* 150-157 */ '\51', '\52', '\53', '\54', '\55', '\56', '\57', '\60', /* 160-167 */ '\61', '\62', '\63', '\177', '\177', '\177', '\177', '\177', /* 170-177 */ '\177', '\177', '\177', '\177', '\177', '\177', '\177', '\177', /* 200-207 */ '\177', '\177', '\177', '\177', '\177', '\177', '\177', '\177', /* 210-217 */ '\177', '\177', '\177', '\177', '\177', '\177', '\177', '\177', /* 220-227 */ '\177', '\177', '\177', '\177', '\177', '\177', '\177', '\177', /* 230-237 */ '\177', '\177', '\177', '\177', '\177', '\177', '\177', '\177', /* 240-247 */ '\177', '\177', '\177', '\177', '\177', '\177', '\177', '\177', /* 250-257 */ '\177', '\177', '\177', '\177', '\177', '\177', '\177', '\177', /* 260-267 */ '\177', '\177', '\177', '\177', '\177', '\177', '\177', '\177', /* 270-277 */ '\177', '\177', '\177', '\177', '\177', '\177', '\177', '\177', /* 300-307 */ '\177', '\177', '\177', '\177', '\177', '\177', '\177', '\177', /* 310-317 */ '\177', '\177', '\177', '\177', '\177', '\177', '\177', '\177', /* 320-327 */ '\177', '\177', '\177', '\177', '\177', '\177', '\177', '\177', /* 330-337 */ '\177', '\177', '\177', '\177', '\177', '\177', '\177', '\177', /* 340-347 */ '\177', '\177', '\177', '\177', '\177', '\177', '\177', '\177', /* 350-357 */ '\177', '\177', '\177', '\177', '\177', '\177', '\177', '\177', /* 360-367 */ '\177', '\177', '\177', '\177', '\177', '\177', '\177', '\177', /* 370-377 */ }; void ToBase64(void *dst0, const void *src0, size_t n, int terminate); void FromBase64(void *dst0, const void *src0, size_t n, int terminate); #endif