Open a1021101652 opened 1 year ago
Windows linefeed is \r\n
Old MacOS linefeed is \r
. New MacOS versions is \n
Linux linefeed is \n
.
To avoid errors on decode, try removing all spacing chars \r
, \n
, \t
, \v
, \f
, \000
#include <string>
#include <iostream>
#include <vector>
void removeSubstrings(std::string& str, const std::vector<std::string>& toRemove) {
for (const auto& subStr : toRemove) {
size_t pos;
while ((pos = str.find(subStr)) != std::string::npos) {
str.erase(pos, subStr.length());
}
}
}
int main() {
std::string str = "String\n with\t text\r that must be removed 😑😀!!!";
std::vector<std::string> toRemove = {"\r", "\n", "\t", "😑"};
removeSubstrings(str, toRemove);
std::cout << "Result: " << str << std::endl;
return 0;
}
Result: String with text that must be removed 😀!!!
Can't remove '\n' directly at here ,because of the character not in standard base64-encoded data ,but i don't know better solution
issue at :base64.cpp:171 ` if (remove_linebreaks) {