cansat_B 2019 / Mbed 2 deprecated pic-xbee

Dependencies:   mbed

Committer:
saeichi
Date:
Thu Nov 28 11:50:27 2019 +0000
Revision:
1:3f0c5242bc32
Parent:
0:0ef2fb2bea82
xbee_pic_re....

Who changed what in which revision?

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