Base64系列第四篇 C/C++中使用Base64编码解码 从chromium库中抽取

本文是Base64系列第四篇,从Chromium库中抽取代码实现C/C++的Base64编码解码。提供核心代码示例,并介绍了完整的Base64编码解码系列。
摘要由CSDN通过智能技术生成

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

本文地址:http://blog.csdn.net/morewindows/article/details/11922643转载请标明出处,谢谢。

欢迎关注微博:http://weibo.com/MoreWindows   

 

本系列一共四篇:

1. 《Base64系列第一篇 Base64介绍

2. 《Base64系列第二篇 python中使用Base64编码解码

3. 《Base64系列第三篇 C/C++中使用Base64编码解码(使用boost库)

4. 《Base64系列第四篇 C/C++中使用Base64编码解码(从chromium库中抽取)

本篇《Base64系列第四篇 C/C++中使用Base64编码解码(从chromium库中抽取)》将从大名鼎鼎的chromium库抽取代码,保证健壮高效的完成Base64编码解码。

 

核心代码展示(完整代码下载地址(免积分):http://download.csdn.net/download/morewindows/6423847

base64.h

#include "./modp_base64/modp_b64.h"// Encodes the input string in base64.  Returns true if successful and false// otherwise.  The output string is only modified if successful.bool Base64Encode(const std::string& input, std::string* output);// Decodes the base64 input string.  Returns true if successful and false// otherwise.  The output string is only modified if successful.bool Base64Decode(const std::string& input, std::string* output);

base64.cpp

#include "./base64.h"#include <string.h>bool Base64Encode(const std::string& input, std::string* output) std::string temp;  temp.resize(modp_b64_encode_len(input.size()));  // makes room for null byte  // null terminates result since result is base64 text!  int input_size = static_cast<int>(input.size());  int output_size= modp_b64_encode(&(temp[0]), input.data(), input_size);  if (output_size < 0)    return false;  temp.resize(output_size);  // strips off null byte  output->swap(temp);  return true;}bool Base64Decode(const std::string& input, std::string* output) std::string temp;  temp.resize(modp_b64_decode_len(input.size()));  // does not null terminate result since result is binary data!  int input_size = static_cast<int>(input.size());  int output_size = modp_b64_decode(&(temp[0]), input.data(), input_size);  if (output_size < 0)    return false;  temp.resize(output_size);  output->swap(temp);  return true;}

测试代码:

//  Base64系列第四篇C/C++中使用Base64编码解码(从chromium库中抽取)//  by MoreWindows( http://blog.csdn.net/MoreWindows )   //  欢迎关注http://weibo.com/morewindows  #include 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值