Class導入前です まだできてません
Dependencies: mbed CameraUS015sb612-3
base64.h@4:1354e56c7dd3, 2019-11-20 (annotated)
- Committer:
- YUPPY
- Date:
- Wed Nov 20 08:06:46 2019 +0000
- Revision:
- 4:1354e56c7dd3
class_before_loading;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
YUPPY | 4:1354e56c7dd3 | 1 | #if !defined BASE64_H_INC_ |
YUPPY | 4:1354e56c7dd3 | 2 | #define BASE64_H_INC_ |
YUPPY | 4:1354e56c7dd3 | 3 | |
YUPPY | 4:1354e56c7dd3 | 4 | #include <string.h> |
YUPPY | 4:1354e56c7dd3 | 5 | #include <iostream> |
YUPPY | 4:1354e56c7dd3 | 6 | #include <fstream> |
YUPPY | 4:1354e56c7dd3 | 7 | |
YUPPY | 4:1354e56c7dd3 | 8 | using namespace std; |
YUPPY | 4:1354e56c7dd3 | 9 | |
YUPPY | 4:1354e56c7dd3 | 10 | // Base64 Encodeing |
YUPPY | 4:1354e56c7dd3 | 11 | class base64 |
YUPPY | 4:1354e56c7dd3 | 12 | { |
YUPPY | 4:1354e56c7dd3 | 13 | int iLen; |
YUPPY | 4:1354e56c7dd3 | 14 | char *lpszOutputString; // 結果出力先 |
YUPPY | 4:1354e56c7dd3 | 15 | static const char *szB64; // Base64変換テーブル |
YUPPY | 4:1354e56c7dd3 | 16 | |
YUPPY | 4:1354e56c7dd3 | 17 | static int FindIndexInB64(char c);//szB64の Base64変換テーブルのなかの、どれか、探し出す。ない場合、-1 |
YUPPY | 4:1354e56c7dd3 | 18 | public: |
YUPPY | 4:1354e56c7dd3 | 19 | base64(); |
YUPPY | 4:1354e56c7dd3 | 20 | ~base64(); |
YUPPY | 4:1354e56c7dd3 | 21 | const char *Encode(const char *szStr, int iLens = -1); // エンコード(文字列用)。ただし、データの長さを指定すれば、バイナリデータが可能 |
YUPPY | 4:1354e56c7dd3 | 22 | const char *Decode(const char *szStr); // デコード(文字列用) |
YUPPY | 4:1354e56c7dd3 | 23 | int GetLenght() const { return iLen; } // 出力された長さ |
YUPPY | 4:1354e56c7dd3 | 24 | const char *Get() const { return lpszOutputString; } // 文字列用の結果を取得 |
YUPPY | 4:1354e56c7dd3 | 25 | |
YUPPY | 4:1354e56c7dd3 | 26 | static void Encode(istream& istr, ostream& ostr, int iRet = 76); // istrはバイナリストリーム推奨 |
YUPPY | 4:1354e56c7dd3 | 27 | // エンコード(ストリーム用) iRetは、何文字目で改行するか。-1なら、改行しない。 |
YUPPY | 4:1354e56c7dd3 | 28 | static void Decode(istream& istr, ostream& ostr); // ostrはバイナリストリーム推奨 |
YUPPY | 4:1354e56c7dd3 | 29 | // デコード(ストリーム用) |
YUPPY | 4:1354e56c7dd3 | 30 | |
YUPPY | 4:1354e56c7dd3 | 31 | static void Encode(const char *lpszImputFileName, const char *lpszOutputFileName, int iRet = 76) |
YUPPY | 4:1354e56c7dd3 | 32 | { |
YUPPY | 4:1354e56c7dd3 | 33 | ifstream f(lpszImputFileName,ios::in | ios::binary); |
YUPPY | 4:1354e56c7dd3 | 34 | ofstream of(lpszOutputFileName); |
YUPPY | 4:1354e56c7dd3 | 35 | Encode(f,of); |
YUPPY | 4:1354e56c7dd3 | 36 | } |
YUPPY | 4:1354e56c7dd3 | 37 | static void Decode(const char *lpszImputFileName, const char *lpszOutputFileName) |
YUPPY | 4:1354e56c7dd3 | 38 | { |
YUPPY | 4:1354e56c7dd3 | 39 | ifstream f(lpszImputFileName); |
YUPPY | 4:1354e56c7dd3 | 40 | ofstream of(lpszOutputFileName,ios::out | ios::trunc | ios::binary); |
YUPPY | 4:1354e56c7dd3 | 41 | Decode(f,of); |
YUPPY | 4:1354e56c7dd3 | 42 | } |
YUPPY | 4:1354e56c7dd3 | 43 | }; |
YUPPY | 4:1354e56c7dd3 | 44 | |
YUPPY | 4:1354e56c7dd3 | 45 | #endif // #if !defined BASE64_H_INC_ |