So konvertieren Sie Dateien in die UTF-8-Codierung unter Linux
- 652
- 87
- Matteo Möllinger
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 -lListen 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.DateiKonvertieren 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.
- « So finden Sie einen Prozessnamen mit der PID -Nummer unter Linux
- 4 Nützliche Möglichkeit, den Stecker USB -Gerätenamen unter Linux zu kennen »