CRC für die PNG-Datei-format
Brauche ich zum Lesen einer PNG-Datei und interpretiert die Daten darin gespeichert, und drucken Sie es in für Menschen lesbaren format. Während der Arbeit an PNG habe ich verstanden, dass es verwendet CRC-32 für die Erzeugung der Prüfsumme für jeden Block. Aber ich konnte nicht verstehen, dass die folgenden Informationen genannt, die auf die PNG-Datei Angabe Website:
Das Polynom verwendet PNG-Format:
x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1
Hier ist der link zur Referenz:
http://www.w3.org/TR/PNG/
Kann jemand bitte mir helfen, das zu verstehen?
InformationsquelleAutor name_masked | 2010-03-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dass der CRC-32-Algorithmus implementiert in zlib. Bitte nicht implementieren Ihre eigenen, wenn Sie verwenden können, dass die Bibliothek statt.
[EDIT]: Verwendung der CRC-Rechner von zlib (ein Beispiel in C extrahiert aus der zlib-docs).
Wenn du den block von Daten, die Sie wollen, um die CRC-für die, die Sie nicht brauchen, dass die while-Schleife; Sie bekommen nur den ersten Wert (erste Zuweisung zu
crc
oben) und berechnen Sie den Wert über die Daten, die Sie haben (zweite Zuordnung zucrc
)."Bitte nicht setzen Sie Ihre eigene, wenn Sie verwenden können, dass die Bibliothek statt." Aufhören mit diesem Unsinn.
InformationsquelleAutor Donal Fellows
http://en.wikipedia.org/wiki/Computation_of_CRC ?
Laut Liste von CRCs in wiki, das Polynom (aka AUTODIN II-Polynom ) ist eine der am meisten verwendet.
CRC-32-IEEE 802.3 x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1
Verwendet (Ethernet, V. 42, MPEG-2, PNG, POSIX cksum, Arj, Lha32, Rar, Zip und vieles mehr..)
Rewritted mit power gekennzeichnet durch
^
:So kann man Lesen Quelle cksum, z.B. hier
http://www.opensource.apple.com/source/file_cmds/file_cmds-188/cksum/crc32.c
InformationsquelleAutor osgx
Haben, Lesen Sie wikipedia Artikel über CRCs? Es gibt keine einheitliche CRC-format, jede 'format' basiert auf einem Polynom wie diese.
Ich bin nicht sehr vertraut mit der Berechnung von CRCs von hand, aber was Sie suchen ist in der Tat das Dateiformat, das verwendet wird in POSIX. Ich bin sicher, es gibt Tonnen von nützlichen Implementierungen der es.
InformationsquelleAutor svens