這是C++中的一個函數,它接受一個HEX字符串並將其轉換爲其等效的ASCII字符。在C++中優化十六進制爲Ascii函數
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串到這個功能,它一段時間,花費計算。
是否有更有效的方法來完成此?
我得到一個運行時錯誤與功能: http://ideone.com/HpKvXf – user2076892 2013-02-15 20:48:03
@ user2076892嘗試http://ideone.com/iqK6xD – 2013-02-15 20:51:19
謝謝,這工作。 非常感謝Kerrek SB和Mark Ransom! – user2076892 2013-02-15 20:58:07