Mercurial > hg > orthanc
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; |