So konvertieren Sie Dateien in die UTF-8-Codierung unter Linux

So konvertieren Sie Dateien in die UTF-8-Codierung unter Linux

In diesem Handbuch werden wir beschreiben, welche Charaktercodierung einige Beispiele für das Konvertieren von Dateien von einer Zeichencodierung zu einem anderen unter Verwendung eines Befehlszeilen -Tools abdecken. Schließlich werden wir uns ansehen, wie mehrere Dateien aus jedem Zeichensatz konvertiert werden können (Charset) Zu UTF-8 Codierung in Linux.

Wie Sie wahrscheinlich bereits im Sinn haben, versteht oder speichert ein Computer Buchstaben, Zahlen oder irgendetwas anderes, das wir als Menschen außer Bits wahrnehmen können. Ein bisschen hat nur zwei mögliche Werte, das ist entweder a 0 oder 1, WAHR oder FALSCH, Ja oder NEIN. Jede andere Sache wie Buchstaben, Zahlen und Bilder müssen in Bits dargestellt werden, damit ein Computer verarbeitet werden kann.

In einfachen Worten, Zeichenkodierung Ist eine Möglichkeit, einem Computer zu informieren, wie man rohe Nullen und solche in tatsächliche Zeichen interpretiert, wobei ein Charakter durch Zahlenmenge dargestellt wird. Wenn wir Text in eine Datei eingeben, werden die von uns bildenden Wörter und Sätze aus verschiedenen Zeichen gekocht, und Zeichen werden in a organisiert Charset.

Es gibt verschiedene Codierungsschemata, wie z ASCII, Ansi, Unicode unter anderen. Unten ist ein Beispiel von ASCII Codierung.

Charakter Bits A 01000001 B 01000010 

In Linux die Ikonv Das Befehlszeilenwerkzeug wird verwendet, um Text von einer Codierung in eine andere zu konvertieren.

Sie können die Codierung einer Datei mit dem überprüfen Datei Befehl mit der Verwendung der -ich oder --Mime Flag, das das Drucken der MIME -Zeichenfolge wie in den folgenden Beispielen ermöglicht:

$ file -i Auto.Java $ file -i Kartenriver.Java 
Überprüfen Sie die Dateikodierung unter Linux

Die Syntax für die Verwendung Ikonv ist wie folgt:

$ iconv Option $ iconv Optionen -F From -Coding -t -to -codierende InputFile (S) -O Outputfile 

Wo -F oder --From-Code bedeutet Eingabecodierung und -T oder --tocodieren Gibt die Ausgangscodierung an.

Um alle bekannten codierten Zeichensätze aufzulisten, führen Sie den folgenden Befehl aus:

$ iconv -l 
Listen Sie codierte Charsets unter Linux auf

Konvertieren Sie Dateien von UTF-8 in ASCII-Codierung

Als nächstes werden wir lernen, wie man von einem Codierungsschema zum anderen konvertiert. Der folgende Befehl konvertiert von ISO-8859-1 Zu UTF-8 Codierung.

Betrachten Sie eine Datei mit dem Namen Eingang.Datei Welches enthält die Zeichen:

� � � � 

Beginnen wir mit der Codierung der Zeichen in der Datei und dann den Dateiinhalt anzeigen. Eng können wir alle Charaktere in umwandeln ASCII Codierung.

Nach dem Laufen der Ikonv Der Befehl, dann überprüfen wir den Inhalt der Ausgabedatei und die neue Codierung der Zeichen wie unten.

$ file -I -Eingabe.Datei $ cateingabe.Datei $ iconv -f ISO-8859-1 -t UTF-8 // Translit-Eingabe.Datei -o out.$ cat auslegen.Datei $ file -i out.Datei 
Konvertieren Sie UTF-8 in Linux in ASCII

Notiz: Falls die Zeichenfolge //IGNORIEREN wird zu To-Coding hinzugefügt, Zeichen, die nicht konvertiert werden können, und nach der Konvertierung wird ein Fehler angezeigt.

Angenommen, die Zeichenfolge // Translit wird wie im obigen Beispiel zu To-Coding hinzugefügt (ASCII // Translit), die Charaktere werden nach Bedarf und nach Möglichkeit transliteriert. Dies impliziert, dass ein Charakter im Zielzeichensatz nicht dargestellt werden kann, es kann durch ein oder mehrere ähnlich aussehende Zeichen angenähert werden.

Folglich wird jedes Zeichen, das nicht transliteriert werden kann und nicht im Zielzeichen ist, durch ein Fragezeichen ersetzt (?) im Ausgang.

Konvertieren Sie mehrere Dateien in die UTF-8-Codierung

Wenn Sie zu unserem Hauptthema zurückkehren, um mehrere oder alle Dateien in einem Verzeichnis in UTF-8-Codierung umzuwandeln, können Sie ein kleines Shell-Skript auf dem neuesten Stand schreiben Codierung.Sch folgendermaßen:

#!/bin/bash #Entereingaberde codieren hier von_encoding = "value_here" #output codieren (utf -8) to_encoding = "utf -8" #convert convert = "iconv -f $ from_encoding -t $ to_encoding" #loop, um mehrere Dateien zu konvertieren, um mehrere Dateien zu konvertieren, um mehrere Dateien zu konvertieren, um mehrere Dateien zu konvertieren, um mehrere Dateien zu konvertieren, um mehrere Dateien zu konvertieren, um mehrere Dateien zu konvertieren für Datei in *.txt; $ konvertieren "$ file" -O "$ file%.txt.UTF8.konvertiert "Done beenden 0 

Speichern Sie die Datei und lassen Sie das Skript ausführbar. Führen Sie es aus dem Verzeichnis aus, in dem Ihre Dateien (Ihre Dateien (*.txt) befinden sich.

$ chmod +x codieren.Sh $ ./Codierung.Sch 

Wichtig: Sie können dieses Skript auch für die allgemeine Konvertierung mehrerer Dateien von einer gegebenen Codierung zum anderen verwenden From_encoding Und To_encoding Variable, nicht vergessener den Namen Ausgabedatei zu vergessen "$ File%.txt.UTF8.umgewandelt".

Weitere Informationen finden Sie durch die Ikonv Mann Seite.

$ MAN ICONV 

Um diesen Leitfaden zusammenzufassen, das Verständnis der Codierung und der Konvertierung von einem Charakter -Codierungsschema in ein anderes ist für jeden Computer Benutzer mehr für Programmierer, wenn es um den Umgang mit Text geht.

Zuletzt können Sie sich mit uns in Verbindung setzen, indem Sie den folgenden Kommentarbereich für Fragen oder Feedback verwenden.