Binäre Kodierungsformate

761
GypsyCosmonaut
echo random text > text_file 

Speichert die Textdatei im Textformat mit ASCII-Kodierung. Um die Kodierung zu überprüfen, mache ich das

chardetect text_file 

was sagt mir, dass die Datei ASCII-kodiert ist. Jetzt habe ich eine JPG-Datei und mache dasselbe

chardetect my_image_file 

Es erkennt jedoch keine Kodierung in dieser JPG-Datei.

Ich habe diese beiden Antworten ( erste und zweite ) über den Unterschied zwischen Dateiformat und Dateicodierung gelesen und verstanden, dass die Dateicodierung (ASCII, UTF-8 usw.) für die Datendarstellung für Benutzer durchgeführt wird (da Computer kein Englisch verstehen ) und manchmal auch Integritätsprüfungen (Base64), während Dateiformate lediglich eine Darstellung dafür darstellen, wie Daten der Anwendung zur Analyse (HTML, JSON usw.) präsentiert werden und dass Medien und einige andere Dateien (JPEG, MP4, DOC, PDF) gespeichert werden im binären Format.

Fragen

  • Ist mein Verständnis korrekt? Wenn ja, haben Binärdateien (PDF, MP4, JPEG) keine Kodierung?
  • Wenn eine Kodierung für Binärdateien (Medien / andere) vorhanden ist, wie Sie sie mit dem Terminal erkennen können.
  • Ermitteln, in welchem ​​Format eine Datei verwendet wird (JSON, HTML, chardetectNur- Text, PDF, GIF, JPEG usw.), da anscheinend nur Informationen zur Textcodierung angegeben werden
0

2 Antworten auf die Frage

1
Steven

Verwenden Sie den fileBefehl zu determine file type (man file).

Andere Dienstprogramme helfen dabei, bestimmte Dateitypen weiter zu identifizieren:

  • chardetectist ein universal character encoding detector (man chardetect).
  • identify describes the format and characteristics of one or more image files.

Auch nachschlagen andere Datei spezifische Dienstprogramme wie mediainfo, ffmpeg, exiftool.

0
lungj

Eine "Kodierung" chardetectbezieht sich in diesem Zusammenhang (und meine Vermutung zum Befehl) speziell auf die Darstellung von Text in einer Textdatei. Andere Dateien haben auch Kodierungen, aber das bezieht sich auf etwas anderes.

Ich denke, Sie suchen nach dem fileBefehl: Er versucht zu erraten, welches Format eine Datei verwendet.