CRC32c
用于计算CRC-32c校验和的标准库模块。
# *`虏茅驴麓卤戮碌禄路戮鲁拢潞陆毛隆隆CRC32c`*-函数
crc32c(data, crc::UInt32=0x00000000)
计算给定的CRC-32C校验和 数据资料,这可以是一个 数组{UInt8},其连续子阵列, AbstractVector{UInt8},或一 字符串. 或者,您可以通过一个起始 儿童权利公约 整数与校验和混合. 该 儿童权利公约 参数可用于计算划分为块的数据的校验和:执行 crc32c(data2,crc32c(data1)) 等价于 [数据1;数据2]. (从技术上讲,计算了一个小端校验和。)
还有一种方法 crc32c(io,nb,crc) 到校验和 nb 来自流的字节 伊俄,或 crc32c(io,crc) 以校验和所有剩余字节。 因此,你可以这样做 打开(crc32c,文件名)对整个文件进行校验和,或 crc32c(seekstart(buf)) 校验和 IOBuffer的 没有打电话 xref:base/io-network.adoc#Base.take!-Tuple{Base.GenericIOBuffer}[拿!.
对于一个 字符串,请注意,结果特定于UTF-8编码(将从不同的Unicode编码获得不同的校验和)。 校验和 A::抽象阵列 在没有填充的其他一些bitstype中,您可以这样做 crc32c(vec(reinterpret(UInt8,a))),但请注意,结果可能是依赖端序的。
# *`虏茅驴麓卤戮碌禄路戮鲁拢潞陆毛隆隆CRC32c`*-Method
crc32c(io::IO, [nb::Integer,] crc::UInt32=0x00000000)
阅读到 nb 字节从 伊俄 并返回CRC-32c校验和,可选地与起始混合 儿童权利公约 整数。 如果 nb 没有提供,那么 伊俄 将被读取,直到流结束。