分享一下我老师大神的人工智能教程!零基础,通俗易懂!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