summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/codec/c++/base64.hpp14
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();
}