CRC32c
CRC32c.crc32c
── 関数
crc32c(data, crc::UInt32=0x00000000)
与えられたデータの CRC32c チェックサムを計算します。data
に指定できるのは Array{UInt8}
・Array{UInt8}
の連続部分配列・String
です。省略可能引数として、チェックサムの初期値として使われる整数 crc
も指定できます。crc
パラメータは複数の部分に分割されたデータのチェックサムを計算するのにも利用でき、例えば crc32c(data2, crc32c(data1))
は [data1; data2]
のチェックサムを計算するのと等価です (正確にはリトルエンディアンのチェックサムが計算されます)。
他にもストリーム io
の先頭 nb
バイトのチェックサムを計算するメソッド crc32c(io, nb, crc)
や、ストリームに残っている全てのバイト列のチェックサムを計算するメソッド crc32c(io, nb)
があります。そのため open(crc32c, filename)
とすればファイル全体のチェックサムが計算でき、crc32c(seekstart(buf))
とすれば take!
を使わずに IOBuffer
全体のチェックサムが計算できます。
String
に対しては UTF-8 エンコーディングに特有のチェックサムが計算されます (異なる Unicode エンコーディングでは結果が異なります)。その他のビット型の配列 a::Array
のチェックサムを計算するときは crc32c(reinterpret(UInt8,a))
を使ってください。ただし、こうすると結果がエンディアンに依存する可能性があります。
CRC32c.crc32c
── メソッド
crc32c(io::IO, [nb::Integer,] crc::UInt32=0x00000000)
io
から最大で nb
バイトを読み、その CRC32c チェックサムを計算します。省略可能な整数引数 crc
を指定すると、チェックサム計算の初期値がその値になります。nb
が指定されないと、io
が終わるまでデータが読まれます。