Was ist das schnellste und einfachste Tool oder die schnellste Methode zum Konvertieren von Textdateien zwischen Zeichensätzen?
Insbesondere muss ich von UTF-8 nach ISO-8859-15 konvertieren und umgekehrt.
Alles ist möglich: Einzeiler in Ihrer bevorzugten Skriptsprache, Befehlszeilentools oder andere Dienstprogramme für Betriebssysteme, Websites usw.
Beste Lösungen bisher:
Unter Linux / UNIX / OS X / cygwin:
Das von Troels Arvin vorgeschlagene Gnu- Symbol wird am besten als Filter verwendet . Es scheint universell verfügbar zu sein. Beispiel:
$ iconv -f UTF-8 -t ISO-8859-15 in.txt > out.txt
Wie Ben betont hat , gibt es einen Online-Konverter, der iconv verwendet .
Die von Cheekysoft vorgeschlagene Gnu- Neukodierung ( manuell ) konvertiert eine oder mehrere Dateien direkt . Beispiel:
$ recode UTF8..ISO-8859-15 in.txt
Dieser verwendet kürzere Aliase:
$ recode utf8..l9 in.txt
Recode unterstützt auch Oberflächen, mit denen zwischen verschiedenen Zeilenendtypen und Codierungen konvertiert werden kann:
Konvertieren Sie Zeilenumbrüche von LF (Unix) in CR-LF (DOS):
$ recode ../CR-LF in.txt
Base64-Codierungsdatei:
$ recode ../Base64 in.txt
Sie können sie auch kombinieren.
Konvertieren Sie eine Base64-codierte UTF8-Datei mit Unix-Zeilenenden in eine Base64-codierte Latin 1-Datei mit Dos-Zeilenenden:
$ recode utf8/Base64..l1/CR-LF/Base64 file.txt
Unter Windows mit Powershell ( Jay Bazuzi ):
PS C:\> gc -en utf8 in.txt | Out-File -en ascii out.txt
(Keine ISO-8859-15-Unterstützung. Unterstützte Zeichensätze sind Unicode, utf7, utf8, utf32, ascii, bigendianunicode, default und oem.)
Bearbeiten
Meinen Sie die Unterstützung von ISO-8859-1? Die Verwendung von "String" bewirkt dies zB umgekehrt
gc -en string in.txt | Out-File -en utf8 out.txt
Hinweis: Die möglichen Aufzählungswerte sind "Unbekannt, Zeichenfolge, Unicode, Byte, BigEndianUnicode, UTF8, UTF7, Ascii".
- CsCvt - Kalyttas Zeichensatzkonverter ist ein weiteres großartiges befehlszeilenbasiertes Konvertierungstool für Windows.
recode
das auch als Filter fungiert, wenn Sie keine Dateinamen übergeben, z. B.:recode utf8..l9 < in.txt > out.txt
enca
, müssen Sie die Eingabecodierung nicht angeben. Es reicht oft aus, nur die Sprache anzugeben : enca -L ru -x utf8 FILE.TXT
.
iconv -f UTF-32 -t UTF-8 input.csv > output.csv
nur etwa siebenhunderttausend Zeilen gespeichert, nur ein Drittel. Mit der In-Place-Version wurden iconv -f UTF-32 -t UTF-8 file.csv
alle mehr als 2 Millionen Zeilen erfolgreich konvertiert.
gc -en Ascii readme.html | Out-File -en UTF8 readme.html
aber es konvertiert die Datei in utf-8, aber dann ist es leer! Notepad ++ sagt, dass die Datei im Ansi-Format ist, aber nach meinem Verständnis ist das nicht einmal ein gültiger Zeichensatz? uk.answers.yahoo.com/question/index?qid=20100927014115AAiRExF