Base64.h
Go to the documentation of this file.00001
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef _BASE64_H
00031 #define _BASE64_H
00032
00033 #ifdef _WIN32
00034 #pragma warning(disable:4514)
00035 #endif
00036
00037 #include <stdio.h>
00038 #include <string>
00039
00040 #ifdef SOCKETS_NAMESPACE
00041 namespace SOCKETS_NAMESPACE {
00042 #endif
00043
00048 class Base64
00049 {
00050 public:
00051 Base64();
00052
00053 void encode(FILE *, std::string& , bool add_crlf = true);
00054 void encode(const std::string&, std::string& , bool add_crlf = true);
00055 void encode(const char *, size_t, std::string& , bool add_crlf = true);
00056 void encode(unsigned char *, size_t, std::string& , bool add_crlf = true);
00057
00058 void decode(const std::string&, std::string& );
00059 void decode(const std::string&, unsigned char *, size_t&);
00060
00061 size_t decode_length(const std::string& );
00062
00063 private:
00064 Base64(const Base64& ) {}
00065 Base64& operator=(const Base64& ) { return *this; }
00066 static char *bstr;
00067 static char rstr[128];
00068 };
00069
00070
00071 #ifdef SOCKETS_NAMESPACE
00072 }
00073 #endif
00074
00075 #endif // _BASE64_H