comparison Resources/base64/base64.cpp @ 86:de8a5329b069

fix of base64
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 26 Sep 2012 11:21:05 +0200
parents 166664f0f860
children
comparison
equal deleted inserted replaced
85:ebce15865cce 86:de8a5329b069
36 36
37 static inline bool is_base64(unsigned char c) { 37 static inline bool is_base64(unsigned char c) {
38 return (isalnum(c) || (c == '+') || (c == '/')); 38 return (isalnum(c) || (c == '+') || (c == '/'));
39 } 39 }
40 40
41 std::string base64_encode(const char* stringToEncode) { 41 std::string base64_encode(const std::string& stringToEncode)
42 unsigned char const* bytes_to_encode = reinterpret_cast<unsigned char const*>(stringToEncode); 42 {
43 unsigned int in_len = strlen(stringToEncode); 43 const unsigned char* bytes_to_encode = reinterpret_cast<const unsigned char*>
44 (stringToEncode.size() > 0 ? &stringToEncode[0] : NULL);
45 unsigned int in_len = stringToEncode.size();
44 46
45 std::string ret; 47 std::string ret;
46 int i = 0; 48 int i = 0;
47 int j = 0; 49 int j = 0;
48 unsigned char char_array_3[3]; 50 unsigned char char_array_3[3];
79 ret += '='; 81 ret += '=';
80 82
81 } 83 }
82 84
83 return ret; 85 return ret;
86 }
84 87
85 }
86 88
87 std::string base64_decode(const std::string& encoded_string) { 89 std::string base64_decode(const std::string& encoded_string) {
88 int in_len = encoded_string.size(); 90 int in_len = encoded_string.size();
89 int i = 0; 91 int i = 0;
90 int j = 0; 92 int j = 0;