gpt4 book ai didi

java - 用Java计算CRC32b

转载 作者:行者123 更新时间:2023-11-30 03:45:52 35 4
gpt4 key购买 nike

我使用 java.util.zip.CRC32,据我所知,它实现了 CRC32(而不是 CRC32b),但似乎我需要使用 CRC32b 而不是 CRC32。

有没有可以用来进行 CRC32b 计算的 Java 开源代码?

最佳答案

如果我没记错的话,CRC32b 是一个创造的术语,等于 CRC32 的 4 个字节反转。

int crc32b(int crc) {
ByteBuffer buf = ByteBuffer.allocate(4);
buf.putInt(crc); // BIG_ENDIAN by default.
buf.order(ByteOrder.LITTLE_ENDIAN);
return buf.getInt(0);
}

例如输入“1”:

byte b = (byte) '1';
CRC32 crc = new CRC32();
crc.update(b);

System.out.printf("%x%n", crc.getValue());
int finalCRC = crc32b((int)crc.getValue());
System.out.printf("%x%n", finalCRC);

输出:

83dcefb7
b7efdc83

根据您的示例得出结论:java CRC32(没有反转)很好。

关于java - 用Java计算CRC32b,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25723365/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com