使用 stringstream 对字符串进行十六进制编码很容易,但是是否可以反过来使用 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;
}
我不希望直接对字节进行位移或使用旧的 c 函数,例如 scanf 系列函数。