but result : 74657374æ╬J
help me please!
i have a string whit hex number, i do convert to text!
help me please!
i have a string whit hex number, i do convert to text!
std::string hexStringToString(std::string data)
{
std::string result;
result.reserve(data.length());
for(size_t i = 0; i < data.length(); i+=2)
{
unsigned long x = 0;
std::stringstream ss;
ss << std::hex << data.substr(i, 2);
ss >> x;
result.append(1, static_cast<char>(x));
}
return result;
}
Quote:
I would do it this way:
Code:std::string hexStringToString(std::string data) { std::string result; result.reserve(data.length()); for(size_t i = 0; i < data.length(); i+=2) { unsigned long x = 0; std::stringstream ss; ss << std::hex << data.substr(i, 2); ss >> x; result.append(1, static_cast<char>(x)); } return result; }
std::string hexStringToString(std::string data)
{
std::stringstream result;
for(size_t i = 0; i < data.length(); i+=2)
result << std::hex << data.substr(i, 2);
return result.str();
}
Yeah, that is even better!Quote:
Code:std::string hexStringToString(std::string data) { std::stringstream result; for(size_t i = 0; i < data.length(); i+=2) result << std::hex << data.substr(i, 2); return result.str(); }
string result;
result.reserve(data.capacity()/2 + 1);
for(int i=0; i<data.length(); i += 2)
{
string tmp = data.substr(i, 2);
char c = strtol(tmp.c_str(), nullptr, 16);
result.push_back(c);
}