diff options
-rw-r--r-- | modules/codec/c++/base64.hpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/modules/codec/c++/base64.hpp b/modules/codec/c++/base64.hpp index 89e2b48..86bff97 100644 --- a/modules/codec/c++/base64.hpp +++ b/modules/codec/c++/base64.hpp @@ -146,6 +146,20 @@ public: } } + if(j > 0u){ + for(uint64_t i = j; i < t.size(); ++i){ + t[i] = 0u; + } + + s[0u] = (t[0u] << 2) + ((t[1] & 0x30) >> 4); + s[1u] = ((s[1u] & 0x0F) << 4) + ((s[2u] & 0x3c) >> 2); + s[2u] = ((s[2u] & 0x03) << 6) + s[3u]; + + for(uint64_t i = 0u; (i+1u) < j; ++i){ + to_str += s[i]; + } + } + to = {std::move(to_str)}; return make_void(); } |