CRC32c

Стандартный модуль библиотеки для вычисления контрольной суммы CRC-32c.

CRC32c.crc32cFunction
crc32c(data, crc::UInt32=0x00000000)

Вычисляет контрольную сумму CRC-32c для заданных data, которые могут быть Array{UInt8}, смежным подмассивом или String. При желании вы можете передать начальное целое число crc, которое будет смешано с контрольной суммой. Параметр crc можно использовать для вычисления контрольной суммы для данных, разделенных на части: выполнение crc32c(data2, crc32c(data1)) эквивалентно контрольной сумме [data1; data2]. (Технически вычисляется контрольная сумма в формате little-endian.)

Существует также метод crc32c(io, nb, crc) для вычисления контрольной суммы nb байт из потока io, или crc32c(io, crc) для вычисления контрольной суммы всех оставшихся байт. Таким образом, вы можете сделать open(crc32c, filename) для вычисления контрольной суммы целого файла или crc32c(seekstart(buf)) для вычисления контрольной суммы IOBuffer без вызова take!.

Для String обратите внимание, что результат специфичен для кодировки UTF-8 (другая контрольная сумма будет получена из другой кодировки Unicode). Чтобы вычислить контрольную сумму для a::Array другого типа битов, вы можете сделать crc32c(reinterpret(UInt8,a)), но обратите внимание, что результат может зависеть от порядка байтов.

source
CRC32c.crc32cMethod
crc32c(io::IO, [nb::Integer,] crc::UInt32=0x00000000)

Читает до nb байт из io и возвращает контрольную сумму CRC-32c, опционально смешанную с начальным целым числом crc. Если nb не указан, то io будет прочитан до конца потока.

source