В рамках одного проекта встала задача сконвертировать hex в string. Гуглятся совершенно разные примеры и подходы. Я же хочу поделиться своим, на мой взгляд, наиболее простым и ясным решением.
#include <iostream>
#include <sstream>
using namespace std;
void hexToString(const string &srcStr, string &destStr) {
if ( srcStr.size() < 2 ) {
return;
}
destStr.clear();
stringstream ss;
size_t asciiCode = 0;
for ( size_t i=1; i<srcStr.size(); i+=2 ) {
ss << hex << srcStr.substr(i-1, 2);
ss >> asciiCode;
destStr.push_back(static_cast<char>(asciiCode));
ss.clear();
}
}
int main() {
string srcstr("48656C6C6F20776F726C6421");
string deststr;
hexToString(srcstr, deststr);
cout << "\n" << deststr << "\n\n";
//
return 0;
}
Комментариев нет:
Отправить комментарий