2016-07-16 16 views
0

Gibt es gemeinsame (oder sogar standardisierte) Dateiformate, die zum Speichern von CRC-Parametersätzen (z. B. Polynom, Breite, Anfangswert, XOR usw.) verwendet werden?Gemeinsame CRC-Dateiformate

Es spielt keine Rolle, ob das Format auf XML, TXT, CSV usw. basiert, solange es üblicherweise verwendet wird.

Antwort

2

Ja. Ross Williams schrieb einen excellent tutorial on CRCs, in dem er einen kanonischen Satz von Parametern definiert, um einen CRC zu definieren. Greg Cook nahm das weiter und erstellte eine list of known CRCs, die diese Parameter mit einem Standardformat und einem Satz von Namen in einer einzelnen Zeile für jeden CRC verwendet. Hier ist ein Beispiel Beschreibung von dieser Seite von dem, was ist wahrscheinlich die häufigste CRC:

width=32 poly=0x04c11db7 init=0xffffffff refin=true refout=true xorout=0xffffffff check=0xcbf43926 name="CRC-32" 

Der check Wert ist der CRC der neun-Byte-ASCII-Zeichenfolge „123456789“.

Ich schrieb die crcany code, die diese Parameterzeilen liest und berechnet einen CRC mit ihnen, Bit-weise, Byte-weise und wordweise Algorithmen anwenden. Mit crcany ist crcgen enthalten, das C-Code für jedes CRC generiert.

Dieser Parametersatz zeigt Ihnen nicht, wie Sie den CRC in einen Byte-Stream setzen. Das ist eine Konvention des Datenformats, nicht die CRC selbst. Sie müssen also sagen, ob die Bytes des CRC-Worts in der Little-Endian- oder Big-Endian-Reihenfolge im Stream gespeichert werden sollen und wohin sie gehen und wie die CRC berechnet wird.