2010-08-05 51 views
0

如果我有CRC32(循環冗餘校驗和),那麼我怎樣才能從它得到字符串?CRC32(循環冗餘校驗和)到字符串

+2

CRC32只是一個整數,所以將整數轉換爲字符串的任何東西都可以工作...... – 2010-08-05 05:38:06

+0

您是否在問如何得到生成CRC的原始字符串? – Raghuram 2010-08-05 06:02:25

回答

0

如果你想獲得crc32_value爲十六進制字符串:

char crc32_string[64]; 
sprintf(crc32_string, "%8X", crc32_value); 

你是不夠清楚什麼樣的格式,你想要什麼樣的字符串。看看MSDN,找出哪個sprintf適合你。它們中有很多具有更安全的參數檢查。

0

的C++方式的十六進制數轉換爲字符串如下:

std::stringstream s; 
s << std::hex << crc32 /*the CRC32 number that you have computed somewhere*/; 

std::string resultString = s.str(); 

希望這回答了你的問題。否則精確你所期望的!

1

問題是ambiguous

如果您的意思是「如何將CRC32整數轉換爲字符串?」,這相當簡單。您可以使用std :: ostringstream或sprintf()或itoa()函數。

如果我懷疑你的意思是「我有一個從字符串生成的CRC32,我想返回原始字符串」,那麼答案是「這是不可能的」。 CRC是一種單向變革,無法倒退。