stringstream を使用して文字列を 16 進エンコードするのは簡単ですが、逆を行って結果の文字列を stringstream でデコードすることは可能ですか?
#include <iostream>
#include <string>
#include <iomanip>
#include <sstream>
int main()
{
std::string test = "hello, world";
std::stringstream ss;
ss << std::hex << std::setfill('0');
for (unsigned ch : test)
ss << std::setw(2) << int(ch);
std::cout << ss.str() << std::endl;
}
バイトを直接ビットシフトしたり、関数のscanfファミリーなどの古いc関数を使用したりするつもりはありません。