-
大小: 160KB文件类型: .rar金币: 1下载: 0 次发布日期: 2021-05-28
- 语言: C/C++
- 标签: c++ webservice
资源简介
VS2013、C++语言、SOAP实现调用webservice接口,接口包括上传文件、日志、获取消息等等。全部源码+DEMO示例
代码片段和文件信息
#include “base64.h“
string Zbase64::Encode(const unsigned char* Data int DataByte)
{
//编码表
const char EncodeTable[] = “ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/“;
//返回值
string strEncode;
unsigned char Tmp[4] = { 0 };
int LineLength = 0;
for (int i = 0; i < (int)(DataByte / 3); i++)
{
Tmp[1] = *Data++;
Tmp[2] = *Data++;
Tmp[3] = *Data++;
strEncode += EncodeTable[Tmp[1] >> 2];
strEncode += EncodeTable[((Tmp[1] << 4) | (Tmp[2] >> 4)) & 0x3F];
strEncode += EncodeTable[((Tmp[2] << 2) | (Tmp[3] >> 6)) & 0x3F];
strEncode += EncodeTable[Tmp[3] & 0x3F];
if (LineLength += 4 LineLength == 76) { strEncode += “\r\n“; LineLength = 0; }
}
//对剩余数据进行编码
int Mod = DataByte % 3;
if (Mod == 1)
{
Tmp[1] = *Data++;
strEncode += EncodeTable[(Tmp[1] & 0xFC) >> 2];
strEncode += EncodeTable[((Tmp[1] & 0x03) << 4)];
strEncode += “==“;
}
else if (Mod == 2)
{
Tmp[1] = *Data++;
Tmp[2] = *Data++;
strEncode += EncodeTable[(Tmp[1] & 0xFC) >> 2];
strEncode += EncodeTable[((Tmp[1] & 0x03) << 4) | ((Tmp[2] & 0xF0) >> 4)];
strEncode += EncodeTable[((Tmp[2] & 0x0F) << 2)];
strEncode += “=“;
}
return strEncode;
}
string Zbase64::Decode(const char* Data int DataByte int& OutByte)
{
//解码表
const char DecodeTable[] =
{
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
62 // ‘+‘
0 0 0
63 // ‘/‘
52 53 54 55 56 57 58 59 60 61 // ‘0‘-‘9‘
0 0 0 0 0 0 0
0 1 2 3 4 5 6 7 8 9 10 11 12
13 14 15 16 17 18 19 20 21 22 23 24 25 // ‘A‘-‘Z‘
0 0 0 0 0 0
26 27 28 29 30 31 32 33 34 35 36 37 38
39 40 41 42 43 44 45 46 47 48 49 50 51 // ‘a‘-‘z‘
};
//返回值
string strDecode;
int nValue;
int i = 0;
while (i < DataByte)
{
if (*Data != ‘\r‘ && *Data != ‘\n‘)
{
nValue = DecodeTable[*Data++] << 18;
nValue += DecodeTable[*Data++] << 12;
strDecode += (nValue & 0x00FF0000) >> 16;
OutByte++;
if (*Data != ‘=‘)
{
nValue += DecodeTable[*Data++] << 6;
strDecode += (nValue & 0x0000FF00) >> 8;
OutByte++;
if (*Data != ‘=‘)
{
nValue += DecodeTable[*Data++];
strDecode += nValue & 0x000000FF;
OutByte++;
}
}
i += 4;
}
else// 回车换行跳过
{
Data++;
i++;
}
}
return strDecode;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2499 2017-09-22 12:00 remoteInterface\remoteInterface\ba
文件 410 2017-09-22 12:00 remoteInterface\remoteInterface\ba
文件 2486 2017-09-21 13:53 remoteInterface\remoteInterface\ReadMe.txt
文件 1211 2017-09-21 13:53 remoteInterface\remoteInterface\remoteInterface.cpp
文件 95 2017-09-21 13:53 remoteInterface\remoteInterface\remoteInterface.def
文件 449 2017-09-21 13:53 remoteInterface\remoteInterface\remoteInterface.h
文件 6250 2017-09-21 13:53 remoteInterface\remoteInterface\remoteInterface.rc
文件 6047 2017-09-22 14:15 remoteInterface\remoteInterface\remoteInterface.vcxproj
文件 4411 2017-09-22 15:36 remoteInterface\remoteInterface\remoteInterfaceExport.cpp
文件 707 2017-09-22 15:22 remoteInterface\remoteInterface\remoteInterfaceExport.h
文件 686 2017-09-21 13:53 remoteInterface\remoteInterface\res\remoteInterface.rc2
文件 371 2017-09-21 13:53 remoteInterface\remoteInterface\Resource.h
文件 667 2017-09-22 09:55 remoteInterface\remoteInterface\soap\RemoteFileServiceImplServiceSoapBinding.nsmap
文件 136210 2017-09-22 09:55 remoteInterface\remoteInterface\soap\soapC.cpp
文件 87207 2017-09-22 09:55 remoteInterface\remoteInterface\soap\soapH.h
文件 12064 2017-09-22 14:54 remoteInterface\remoteInterface\soap\soapRemoteFileServiceImplServiceSoapBindingProxy.cpp
文件 5875 2017-09-22 10:04 remoteInterface\remoteInterface\soap\soapRemoteFileServiceImplServiceSoapBindingProxy.h
文件 36533 2017-09-22 09:55 remoteInterface\remoteInterface\soap\soapStub.h
文件 598058 2017-09-17 14:58 remoteInterface\remoteInterface\soap\stdsoap2.cpp
文件 150519 2017-09-17 14:58 remoteInterface\remoteInterface\soap\stdsoap2.h
文件 146 2017-09-21 15:16 remoteInterface\remoteInterface\stdafx.cpp
文件 1131 2017-09-21 13:53 remoteInterface\remoteInterface\stdafx.h
文件 236 2017-09-21 13:53 remoteInterface\remoteInterface\targetver.h
文件 1642 2017-09-22 15:02 remoteInterface\remoteInterface.sln
..A..H. 45056 2017-09-22 15:40 remoteInterface\remoteInterface.v12.suo
文件 1594 2017-09-21 13:54 remoteInterface\remoteInterfaceTest\ReadMe.txt
文件 981 2017-09-22 16:03 remoteInterface\remoteInterfaceTest\remoteInterfaceTest.cpp
文件 4961 2017-09-22 14:15 remoteInterface\remoteInterfaceTest\remoteInterfaceTest.vcxproj
文件 1326 2017-09-21 13:54 remoteInterface\remoteInterfaceTest\remoteInterfaceTest.vcxproj.filters
文件 225 2017-09-21 13:54 remoteInterface\remoteInterfaceTest\stdafx.cpp
............此处省略10个文件信息
相关资源
- 网上购书系统 C C++
- C++标准函数库.docx
- compat-libstdc++-33-3.2.3-72.el7.i686.rpm
- vc++ 彩色图与灰度图的转换
- 野人与修道士 C++完整工程项目及源代
- N皇后C++源代码---回溯法、遗传算法、
- C++写的flappy bird游戏 代码cpp源文件通
- 车牌识别C++实现
- VC++ 迷宫游戏
- 校园导航c++实现
- VC++压缩解压zip文件支持密码
- 将数字转换为大写汉字的c++程序
- vc++ opengl 下雪场景实现
- compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm
- 自己用c++ 做的一个浏览器 简单 但是
- c++ 工资管理系统
- VC++制作的屏幕录像
- 人工势场法C++版及利用opencv(or matl
- Effective C++中文版 超清pdf
- 相位解卷绕unwrap
- Floyd算法C++
- C++进程优先级调度进程优先级调度进
- BP神经网络VC++实现
- 基于C++的图书馆管理系统
- c++五子棋人机对战源程序
- vc知识库大讲堂c++教程.txt
- C++实现通用链表
- c++成语接龙代码.rar
- 银行储蓄系统c++
- OpenCV+C++图像处理项目14个
评论
共有 条评论