CRC32(循环冗余校验和)到字符串

时间:2010-08-05 05:36:47

标签: c++ visual-c++

如果我有CRC32(Cyclic Redundancy Checksum),那我怎样才能从中获取字符串?

3 个答案:

答案 0 :(得分:1)

问题是ambiguous

如果您的意思是“如何将CRC32整数转换为字符串?”,这很容易。您可以使用std :: ostringstream或sprintf()或itoa()函数。

如果我怀疑,你的意思是“我有一个字符串生成的CRC32,我想回到原来的字符串”,那么答案就是“它是不可能的”。 CRC是一种单向转换,没有办法倒退。

答案 1 :(得分:0)

如果您想将crc32_value作为十六进制字符串:

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

你不清楚什么格式,你想要什么样的字符串。查看MSDN以找出适合您的sprintf。有很多都有更安全的参数检查。

答案 2 :(得分:0)

将十六进制数转换为字符串的C ++方法如下:

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

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

希望这能回答你的问题。否则精确的你期望!