資源簡介
圖片轉為base64編碼,base64編碼保存為圖片。代碼內容借鑒了網上的轉換類。圖片轉為base64編碼,base64編碼保存為圖片。代碼內容借鑒了網上的轉換類。

代碼片段和文件信息
#include?“EParkingbase64.h“
const?std::string?base64_chars?=“ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/“;
bool?CEParkingbase64::Isbase64(const?char?c)
{
return?(isalnum(c)?||?(c?==?‘+‘)?||?(c?==?‘/‘));
}
std::string?CEParkingbase64::base64Encode(const?char?*?bytes_to_encode?unsigned?int?in_len)
{
std::string?ret;
int?i?=?0;
int?j?=?0;
unsigned?char?char_array_3[3];
unsigned?char?char_array_4[4];
while?(in_len--)
{
char_array_3[i++]?=?*(bytes_to_encode++);
if(i?==?3)
{
char_array_4[0]?=?(char_array_3[0]?&?0xfc)?>>?2;
char_array_4[1]?=?((char_array_3[0]?&?0x03)?<4)?+?((char_array_3[1]?&?0xf0)?>>?4);
char_array_4[2]?=?((char_array_3[1]?&?0x0f)?<2)?+?((char_array_3[2]?&?0xc0)?>>?6);
char_array_4[3]?=?char_array_3[2]?&?0x3f;?????
for(i?=?0;?(i?<4)?;?i++)
{
ret?+=?base64_chars[char_array_4[i]];
}
i?=?0;
}
}
if(i)
{
for(j?=?i;?j?3;?j++)
{
char_array_3[j]?=?‘\0‘;
}
char_array_4[0]?=?(char_array_3[0]?&?0xfc)?>>?2;
char_array_4[1]?=?((char_array_3[0]?&?0x03)?<4)?+?((char_array_3[1]?&?0xf0)?>>?4);
char_array_4[2]?=?((char_array_3[1]?&?0x0f)?<2)?+?((char_array_3[2]?&?0xc0)?>>?6);
char_array_4[3]?=?char_array_3[2]?&?0x3f;
for(j?=?0;?(j? {
ret?+=?base64_chars[char_array_4[j]];
}
while((i++?3))
{
ret?+=?‘=‘;
}
}
return?ret;
}
std::string?CEParkingbase64::base64Decode(std::string?const?&?encoded_string)
{
int?in_len?=?(int)?encoded_string.size();
int?i?=?0;
int?j?=?0;
int?in_?=?0;
unsigned?char?char_array_4[4]?char_array_3[3];
std::string?ret;
while?(in_len--?&&?(?encoded_string[in_]?!=?‘=‘)?&&?Isbase64(encoded_string[in_]))?{
char_array_4[i++]?=?encoded_string[in_];?in_++;
if?(i?==4)?{
for?(i?=?0;?i?<4;?i++)
char_array_4[i]?=?base64_chars.find(char_array_4[i]);
char_array_3[0]?=?(char_array_4[0]?<2)?+?((char_array_4[1]?&?0x30)?>>?4);
char_array_3[1]?=?((char_array_4[1]?&?0xf)?<4)?+?((char_array_4[2]?&?0x3c)?>>?2);
char_array_3[2]?=?((char_array_4[2]?&?0x3)?<6)?+?char_array_4[3];
for?(i?=?0;?(i?3);?i++)
ret?+=?char_array_3[i];
i?=?0;
}
}
if?(i)?{
for?(j?=?i;?j?<4;?j++)
char_array_4[j]?=?0;
for?(j?=?0;?j?<4;?j++)
char_array_4[j]?=?base64_chars.find(char_array_4[j]);
char_array_3[0]?=?(char_array_4[0]?<2)?+?((char_array_4[1]?&?0x30)?>>?4);
char_array_3[1]?=?((char_array_4[1]?&?0xf)?<4)?+?((char_array_4[2]?&?0x3c)?>>?2);??
char_array_3[2]?=?((char_array_4[2]?&?0x3)?<6)?+?char_array_4[3];??
for?(j?=?0;?(j? }??
return?ret;??
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????53760??2018-03-28?10:10??Doba
?????文件?????532468??2018-03-28?10:10??Doba
?????文件?????650240??2018-03-28?10:10??Doba
?????文件???????6388??2018-03-28?10:10??Doba
?????文件????????663??2018-03-27?16:39??Doba
?????文件????????728??2018-03-27?16:39??Doba
?????文件????????621??2018-03-28?10:10??Doba
?????文件??????37135??2018-03-27?17:53??Doba
?????文件??????49291??2018-03-28?10:10??Doba
?????文件?????????65??2018-03-28?10:10??Doba
?????文件?????240640??2018-03-28?10:10??Doba
?????文件?????225280??2018-03-28?10:10??Doba
?????文件??????36923??2018-03-27?17:50??Doba
?????文件???????4057??2018-03-27?17:53??Doba
?????文件???????1427??2018-03-28?10:21??Doba
?????文件???????2712??2018-03-27?17:53??Doba
?????文件????????307??2018-03-27?17:52??Doba
?????文件???????1784??2018-03-28?10:10??Doba
?????文件?????140793??2018-03-28?10:10??Doba
?????文件????1690624??2018-03-28?16:13??Doba
?????文件????????890??2018-03-27?16:16??Doba
????..A..H.?????33280??2018-03-28?10:21??Doba
?????目錄??????????0??2018-03-28?10:10??Doba
?????目錄??????????0??2018-03-27?17:53??Doba
?????目錄??????????0??2018-03-29?16:10??Doba
?????目錄??????????0??2018-03-28?10:10??Doba
-----------?---------??----------?-----??----
??????????????3710076????????????????????26
- 上一篇:C語言宿舍管理系統
- 下一篇:Camshift Kalman目標跟蹤算法
評論
共有 條評論