CRC32c

وحدة المكتبة القياسية لحساب مجموع تحقق CRC-32c.

CRC32c.crc32cFunction
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 (سيتم الحصول على قيمة تحقق مختلفة من ترميز 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