2016-03-23 5 views
1

ich einen Code zu lesen und finden Sie in der folgenden Kommentarbereich darin:Gibt es eine deklarierte Bedeutung der ersten acht Bytes von .png-Dateien?

  // We need to determine if the image is a PNG or a JPEG 
      // PNGs are easier to detect because they have a unique signature (http://www.w3.org/TR/PNG-Structure.html) 
      // The first eight bytes of a PNG file always contain the following (decimal) values: 
      // 137 80 78 71 13 10 26 10 

Wenn ich an den ASCII-Codes aussehen, erhalte ich den folgenden Text:

ëPNG ♪ ◙ → ◙

von denen PGN ziemlich klar ist. Gibt es eine Erklärung für die anderen Teile?

Antwort

3

Von der PNG-Spezifikation (https://www.w3.org/TR/PNG-Rationale.html#R.PNG-file-signature)

In ASCII ist: \ 211 PNG \ r \ n \ 032 \ n

Die ersten beiden sind sicher, um es als PNG (ein nicht erkannt wird -ASCII-Zeichen und das P), der Zeilenumbruch dient danach dazu, schlechte Dateiübertragungen zu verhindern, und das vorletzte Zeichen (CTRL-Z) verhindert, dass DOS den Dateiinhalt anzeigt, und die letzte Zeilenumschaltung ist aus demselben Grund wie die erste Zeilenumleitungssequenz