CRC32c
Модуль стандартной библиотеки для вычисления контрольной суммы CRC-32c.
#
CRC32c.crc32c
— Function
crc32c(data, crc::UInt32=0x00000000)
Вычисляет контрольную сумму CRC-32c для данных data
, которыми могут быть массив Array{UInt8}
, его непрерывный подмассив или String
. При желании можно передать начальное целое число crc
, которое должно комбинироваться с контрольной суммой. С помощью параметра crc
можно вычислить контрольную сумму для данных, разделенных на части: результат вызова crc32c(data2, crc32c(data1))
эквивалентен контрольной сумме [data1; data2]
. (Строго говоря, вычисляется контрольная сумма с прямым порядком байтов.)
Существует также метод crc32c(io, nb, crc)
для вычисления контрольной суммы nb
байтов из потока io
и метод crc32c(io, crc)
для вычисления контрольной суммы всех оставшихся байтов. Таким образом, можно выполнить вызов open(crc32c, filename)
для вычисления контрольной суммы всего файла или crc32c(seekstart(buf))
для вычисления контрольной суммы IOBuffer
, не вызывая take!
.
Обратите внимание, что для String
результат предоставляется для кодировки UTF-8 (для другой кодировки Юникода будет получена другая контрольная сумма). Для вычисления контрольной суммы a::Array
другого битового типа можно выполнить вызов crc32c(reinterpret(UInt8,a))
, но имейте в виду, что результат может зависеть от порядка байтов.
#
CRC32c.crc32c
— Method
crc32c(io::IO, [nb::Integer,] crc::UInt32=0x00000000)
Считывает до nb
байтов из io
и возвращает контрольную сумму CRC-32c, при необходимости комбинируя ее с начальным целым числом crc
. Если аргумент nb
не предоставлен, io
считывается до конца потока.