资源简介
c++实现阿里云服务器管理 跨平台源码
代码片段和文件信息
#include “base64.h“
#include
static const std::string base64_chars =
“ABCDEFGHIJKLMNOPQRSTUVWXYZ“
“abcdefghijklmnopqrstuvwxyz“
“0123456789+/“;
static inline bool is_base64(unsigned char c) {
return (isalnum(c) || (c == ‘+‘) || (c == ‘/‘));
}
std::string base64_encode(unsigned char const* 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 < i + 1); j++)
ret += base64_chars[char_array_4[j]];
while((i++ < 3))
ret += ‘=‘;
}
return ret;
}
std::string base64_decode(std::string const& encoded_string) {
int in_len = 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_] != ‘=‘) && is_base64(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 < i - 1); j++) ret += char_array_3[j];
}
ret
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1013 2017-03-25 22:36 AliyunDomain\CMakeLists.txt
文件 304 2017-03-25 22:54 AliyunDomain\config\setting.ini
文件 1706 2016-12-14 17:58 AliyunDomain\include\cppconn\build_config.h
文件 2850 2016-12-14 18:08 AliyunDomain\include\cppconn\config.h
文件 4741 2016-12-14 17:58 AliyunDomain\include\cppconn\connection.h
文件 1571 2016-12-14 17:58 AliyunDomain\include\cppconn\datatype.h
文件 2075 2016-12-14 17:58 AliyunDomain\include\cppconn\driver.h
文件 4728 2016-12-14 17:58 AliyunDomain\include\cppconn\exception.h
文件 14126 2016-12-14 17:58 AliyunDomain\include\cppconn\me
文件 2009 2016-12-14 17:58 AliyunDomain\include\cppconn\parameter_me
文件 2845 2016-12-14 17:58 AliyunDomain\include\cppconn\prepared_statement.h
文件 4452 2016-12-14 17:58 AliyunDomain\include\cppconn\resultset.h
文件 2805 2016-12-14 17:58 AliyunDomain\include\cppconn\resultset_me
文件 5537 2016-12-14 17:58 AliyunDomain\include\cppconn\sqlstring.h
文件 2480 2016-12-14 17:58 AliyunDomain\include\cppconn\statement.h
文件 7213 2016-12-14 17:58 AliyunDomain\include\cppconn\variant.h
文件 1535 2016-12-14 18:08 AliyunDomain\include\cppconn\version_info.h
文件 1901 2016-12-14 17:58 AliyunDomain\include\cppconn\warning.h
文件 92631 2016-10-10 20:12 AliyunDomain\include\curl\curl.h
文件 22393 2016-11-02 14:55 AliyunDomain\include\curl\curlbuild.h
文件 8936 2016-10-10 20:12 AliyunDomain\include\curl\curlrules.h
文件 3076 2016-11-02 14:55 AliyunDomain\include\curl\curlver.h
文件 3473 2016-10-10 20:12 AliyunDomain\include\curl\easy.h
文件 2071 2016-10-10 20:12 AliyunDomain\include\curl\mprintf.h
文件 16095 2016-10-10 20:12 AliyunDomain\include\curl\multi.h
文件 1331 2016-10-10 20:12 AliyunDomain\include\curl\stdcheaders.h
文件 38359 2016-10-10 20:12 AliyunDomain\include\curl\typecheck-gcc.h
文件 5460 2016-12-14 17:58 AliyunDomain\include\mysql_connection.h
文件 2825 2016-12-14 17:58 AliyunDomain\include\mysql_driver.h
文件 1562 2016-12-14 17:58 AliyunDomain\include\mysql_error.h
............此处省略73个文件信息
相关资源
- c++11正式文档
- Data Structures and Program Design In C++及课后
- C++标准库——自学教程与参考手册(
- PatchMatch图像修复算法opencv和C++版)
- c++程序设计谭浩强课后习题答案(完
- c++自适应哈夫曼编码
- C++下使用OpenCV实现人脸检测
- C++/OpenCV2.4.xx印刷数字精确识别源码
- 用C++模拟集中式密钥分配的过程
- KinectV2 实现鼠标控制VS2013 C++版
- 基于MFC编程的冒泡排序动态演示
- 基于MFC的画直线,矩形,椭圆改变线
- 操作系统进程调度先来先服务、短进
- 精通Visual C++图像处理编程(第二版)
- 解析IP数据包 小程序C++实现
- Carve CSG 几何造型库
- C++ 连连看146451
- 数据结构用面向对象方法和C++描述 殷
- 基于C++的三维模型体素化程序
- wincap c++ mfc 网络截包 多线程
- KCF跟踪算法(C++)146187
- C++程序设计(谭浩强)146060
- c++图像处理编程
- Effective C++
- Visual C++程序设计与应用教程第二版案
- C++程序设计实践指导
- C++操作SQL Server数据库新增 删除 修改
- C++编写电压电流表仪表盘
- effective c++中文版第三版pdf
- C++ QT5教程 开发大全和教程 完整
评论
共有 条评论