Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed JPEGCamera
Diff: base64.h
- Revision:
- 0:581241ed8da9
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/base64.h Mon Nov 25 08:19:58 2019 +0000
@@ -0,0 +1,45 @@
+#if !defined BASE64_H_INC_
+#define BASE64_H_INC_
+
+#include <string.h>
+#include <iostream>
+#include <fstream>
+
+using namespace std;
+
+// Base64 Encodeing
+class base64
+{
+ int iLen;
+ char *lpszOutputString; // 結果出力先
+ static const char *szB64; // Base64変換テーブル
+
+ static int FindIndexInB64(char c);//szB64の Base64変換テーブルのなかの、どれか、探し出す。ない場合、-1
+public:
+ base64();
+ ~base64();
+ const char *Encode(const char *szStr, int iLens = -1); // エンコード(文字列用)。ただし、データの長さを指定すれば、バイナリデータが可能
+ const char *Decode(const char *szStr); // デコード(文字列用)
+ int GetLenght() const { return iLen; } // 出力された長さ
+ const char *Get() const { return lpszOutputString; } // 文字列用の結果を取得
+
+ static void Encode(istream& istr, ostream& ostr, int iRet = 76); // istrはバイナリストリーム推奨
+ // エンコード(ストリーム用) iRetは、何文字目で改行するか。-1なら、改行しない。
+ static void Decode(istream& istr, ostream& ostr); // ostrはバイナリストリーム推奨
+ // デコード(ストリーム用)
+
+ static void Encode(const char *lpszImputFileName, const char *lpszOutputFileName, int iRet = 76)
+ {
+ ifstream f(lpszImputFileName,ios::in | ios::binary);
+ ofstream of(lpszOutputFileName);
+ Encode(f,of);
+ }
+ static void Decode(const char *lpszImputFileName, const char *lpszOutputFileName)
+ {
+ ifstream f(lpszImputFileName);
+ ofstream of(lpszOutputFileName,ios::out | ios::trunc | ios::binary);
+ Decode(f,of);
+ }
+};
+
+#endif // #if !defined BASE64_H_INC_