CRC32c
وحدة المكتبة القياسية لحساب مجموع تحقق CRC-32c.
CRC32c.crc32c
— Functioncrc32c(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))
، لكن لاحظ أن النتيجة قد تعتمد على ترتيب البايت.
CRC32c.crc32c
— Methodcrc32c(io::IO, [nb::Integer,] crc::UInt32=0x00000000)
اقرأ حتى nb
بايت من io
وأعد قيمة CRC-32c، مختلطة اختياريًا مع عدد صحيح ابتدائي crc
. إذا لم يتم تزويد nb
، فسيتم قراءة io
حتى نهاية الدفق.