これは、HEX 文字列を受け取り、それを同等の ASCII 文字に変換する c++ の関数です。
string HEX2STR (string str)
{
string tmp;
const char *c = str.c_str();
unsigned int x;
while(*c != 0) {
sscanf(c, "%2X", &x);
tmp += x;
c += 2;
}
return tmp;
次の文字列を入力した場合:
537461636b6f766572666c6f77206973207468652062657374212121
出力は次のようになります。
Stackoverflow is the best!!!
この関数に 1,000,000 個の一意の HEX 文字列を入力するとします。計算には時間がかかります。
これを完了するためのより効率的な方法はありますか?