Wie überprüfen Sie die Zeichenkodierung einer Datei in Linux

Habe ich einige text-Dateien, die codiert sind durch verschiedene Zeichen-Kodierungen, wie ascii, utf-8, big5, gb2312.

Nun möchte ich wissen, Ihre genaue Zeichencodierungen, um mit einem text-editor, sonst präsentieren Sie unlesbare Zeichen.

Suchte ich online und fand file Befehl konnte Anzeige das Zeichen-encoding einer Datei, wie:

$ file -bi *
text/plain; charset=iso-8859-1
text/plain; charset=us-ascii
text/plain; charset=iso-8859-1
text/plain; charset=utf-8

Leider-Dateien kodiert mit big5 und gb2312 beide vorhanden charset=iso-8859-1, so dass ich konnte nicht noch eine Unterscheidung treffen.
Gibt es einen besseren Weg, um zu überprüfen, Zeichencodierung einer Textdatei?

  • haben Sie versucht, uchardet oder enconv?
  • Danke. Sie funktioniert.
  • Sie können nicht zuverlässig überprüfen, Codierung, können Sie nur erahnen. file eine schlechte erraten, während uchardet ist besser, aber beide sind zu erraten.
  • Ich habe eine harte Zeit glauben Sie ASCII-encoding-Dateien. Es ist weit mehr wahrscheinlich Zufall, dass Ihre Datei den aktuellen Inhalt beschränkt sich auf die C0 Controls and Basic-Latin-Zeichen. Wenn die Datei ist in der Tat ASCII, vielleicht haben Sie eine Spezifikation oder standard so sagt. Dann brauchen Sie nicht zu raten-Programme.
  • Tut mir Leid. Ich verstehe nicht, was du meinst.
  • Wenn jemand schreibt eine text-Datei, wählen Sie eine Zeichenkodierung aus. Das ist fast nie ASCII. Wenn Sie zu wählen, ASCII, würden Sie wahrscheinlich so tun, weil von einer Spezifikation oder Norm. In jedem Fall muss der Leser verwenden die gleiche Codierung, die Datei zu Lesen. So, eine Spezifikation oder standard ist ein Weg, zu wissen, welche Kodierung verwendet wird, und Sie sollten es Ihnen zur Verfügung. Zu raten ist sehr lückenhaft. Sie tun könnten, damit aus einer Probe. Aber wenn eine Datei ist Teil eines sich wiederholenden Prozesses, dann wird die Datei möglicherweise unterschiedliche Inhalte in der Zukunft ungültig werden könnten die Vermutung.

InformationsquelleAutor Young | 2018-02-11
Schreibe einen Kommentar