CRCパラメータセット(多項式、幅、初期値、XORなど)を格納するために使用される共通の(または標準化された)ファイル形式はありますか?一般的なCRCファイル形式
フォーマットがXML、TXT、CSVなどに基づいているかどうかは、一般的に使用されている限り重要です。
CRCパラメータセット(多項式、幅、初期値、XORなど)を格納するために使用される共通の(または標準化された)ファイル形式はありますか?一般的なCRCファイル形式
フォーマットがXML、TXT、CSVなどに基づいているかどうかは、一般的に使用されている限り重要です。
はい。 Ross Williams氏はexcellent tutorial on CRCsと書いており、CRCを定義するための標準的なパラメータセットを定義しています。グレッグ・クックはこれをさらに受け取り、CRCごとに1行に標準フォーマットと名前のセットを持つパラメータを使用するlist of known CRCsを作成しました。ここでは、おそらく最も一般的なCRCであるものの、そのサイトからの記述例である:
width=32 poly=0x04c11db7 init=0xffffffff refin=true refout=true xorout=0xffffffff check=0xcbf43926 name="CRC-32"
check
値は、ASCII文字「123456789」の9バイトの文字列のCRCです。
私はcrcany codeを書いて、これらのパラメータ行を読み取り、それらを使ってビット単位、バイト単位、ワード単位のアルゴリズムを適用してCRCを計算します。 crcanyには、CRC用のCコードを生成するcrcgenが含まれています。
このパラメータセットでは、CRCをバイトストリームに配置する方法はわかりません。これはCRC自体ではなく、データ形式の規約です。したがって、CRCワードのバイトが、リトルエンディアンまたはビッグエンディアンの順番でストリームに格納されるかどうか、またそれらがどこに行き、CRCがどのように計算されるかについて言わなければなりません。