Base64编码的实现(c++) 仅编码部分
来源:互联网 发布:相宜本草红景天 知乎 编辑:程序博客网 时间:2024/05/30 22:53
string ZBase64::Encode(const unsigned char* Data,int DataByte)
{
//编码表
const char EncodeTable[]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
//返回值
string strEncode;
unsigned char Tmp[3]={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;
}
- Base64编码的实现(c++) 仅编码部分
- BASE64编码 C实现
- base64编码解码的实现(C语言)
- base64编码解码的实现(C语言)
- 实现base64编码的C代码
- Base64编码解码的实现(C语言)
- Base64编码解码的实现(C语言)
- base64编码、解码的C语言实现
- base64编码、解码的C语言实现
- BASE64编码and解码的C实现
- base64编码、解码的C语言实现
- Base64编码的C语言实现
- base64编码、解码的C语言实现
- BASE64编码、解码的C语言实现
- Base64编码解码和URLEnocde编码解码的C实现
- C语言实现Base64编码
- C语言实现Base64编码
- C语言实现base64编码
- Android高手应该精通哪些内容?
- 让mysql支持中文
- Near Field Communication(近领域交流)
- 支付宝
- yum命令的理解及相关设置
- Base64编码的实现(c++) 仅编码部分
- 关于好易网采用GWT技术开发网站的总结
- C++中的引用
- 如何配置compass的索引位置为相对路径
- Wpf,常用控件说明总结(转)
- OpenGL --文件读取(c++)
- 各种通信方式对比
- NoSQL 数据库学习资料汇总
- Java常见面试题