Hannes2222
Anmeldungsdatum: 25. Oktober 2017
Beiträge: 60
|
Hallo! Im Text Editor von Windows kann man eine Textdatei in der Codierung 'ANSI' abspeichern (siehe angehangenen Screenshot). Ich brauche diese Funktion auch für meinen Linux-Rechner; ich muss eine Text-Datei in der Codierung 'ANSI' abspeichern können. Als Texteditor benutze ich 'Mousepad'. Kann man mit diesem Programm auch eine Textdatei als 'ANSI' abspeichern? Bis jetzt habe ich keine Option gefunden. Ansonsten wäre ich über Vorschläge zu alternativen Textprogrammen dankbar, die dies können. Bin für jede Hilfe dankbar. Grüße aus Dresden! Joh. Peter
- Bilder
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11243
Wohnort: München
|
ANSI ist nicht ganz eindeutig definiert: ANSI_character_set - ich vermute, du willst Windows-1252?
Generell kann man das mit iconv versuchen, wobei man beachten muss, dass nicht alle UTF-8 Zeichen in einem 8-Bit Encoding abbildbar sind - das ginge dann z.B. so:
iconv -f utf-8 -t 'Windows-1252//TRANSLIT' test.txt > converted_test.txt Mit Python3 tut man sich da ggf. leichter, weil man im Zielencoding nicht abbildbare Zeichen so ablegen kann, dass man sie später zumindest ohne Informationsverlust wieder zurückkonvertieren kann, statt die entweder zu ignorieren oder durch Ersatzzeichen zu ersetzen (vgl. https://docs.python.org/3/library/codecs.html#error-handlers):
| #!/usr/bin/env python3
import sys
for f in sys.argv[1:]:
with open(f) as f_in, open(f"converted_{f}", 'w', encoding='Windows-1252', errors='surrogateescape') as f_out:
f_out.write(f_in.read())
|
python3 iconv.py test.txt
|
shiro
Supporter
Anmeldungsdatum: 20. Juli 2020
Beiträge: 1242
|
Hallo Hannes2222, üblicherweise arbeitet man in UTF-8. Zur Konvertierung in eine andere Kodierung verwendet man das Programm "iconv":
iconv -f utf-8 -t l1 utf8-file.txt >ansi.latin1-file.txt
In diesem Beispiel wird von (-f from) utf-8 in (-t to) Latin1 (ISO-8859_1) Codierung gewandelt. Es gibt auch einige ANSI_X3 Codierungen.Schau die mal "iconv -l" an, mit welche du arbeiten möchtest. Wenn du dies nicht außerhalb des Editors machen willst, brauchst du einen geeigneten Editor, wie SciTe oder andere. In SciTe z.B. kannst du die Codierung über die Variablen in der Konfiguration einstellen (Beispiele: code.page=0 ; character.set=204 ; output.code.page=65001).
|
Hannes2222
(Themenstarter)
Anmeldungsdatum: 25. Oktober 2017
Beiträge: 60
|
Vielen Dank für Eure Vorschläge. Ein Textprogramm, welches diese Option anbietet, gibt es wohl gar nicht? Geht nur über die Kommandozeile? Aber gut, ich probiere es. Grüße! PS: Obwohl ich beim zweiten Lesen gesehen habe, dass einige Editoren genannt wurden. Danke.
|
shiro
Supporter
Anmeldungsdatum: 20. Juli 2020
Beiträge: 1242
|
Wenn die Nutzung mit SciTe für dich zu aufwendig ist, kannst du auch "Notepad++" nutzen. Notepad++ ist ein Windows-Programm, das wie SciTe die Scintilla Engine verwendet. Unter Ubuntu benötigt es allerdings wine. Das Notepad++ Programm kannst du auch über den "Snap Store" installieren, wenn die andern Vorgehensweisen zu kompliziert sind. Im Notepad++ Programm gehst du in die Menue-Zeile "Codierung" → "Konvertiere zu ANSI". Im Editor wirst du eventuell keine Änderung feststellen, aber in der Statuszeile ist dann links unten "ANSI" statt vorher "UTF-8" zu sehen. Wenn du die Datei dann abspeicherst, ist die "ANSI" kodiert.
|
juribel
Anmeldungsdatum: 20. April 2014
Beiträge: 1236
|
Geany kann das wohl auch. Die Menüfolge Dokument → Zeichenkodierung festlegen → Westeuropäisch bietet eine ganze Palette von Zeichenkodierungen an. Viele freundliche Grüsse, juribel
|
Hannes2222
(Themenstarter)
Anmeldungsdatum: 25. Oktober 2017
Beiträge: 60
|
Ich danke Euch für Eure Vorschläge.
|
Hannes2222
(Themenstarter)
Anmeldungsdatum: 25. Oktober 2017
Beiträge: 60
|
juribel schrieb: Geany kann das wohl auch. Die Menüfolge Dokument → Zeichenkodierung festlegen → Westeuropäisch bietet eine ganze Palette von Zeichenkodierungen an. Viele freundliche Grüsse, juribel
Hallo Juribel, habe jetzt mal versucht Deinen Vorschlag umzusetzen, aber Geany scheint 'ANSI' gar nicht anzubieten (siehe angehangenen Screenshot). Oder gibt es für 'ANSI' noch eine andere Bezeichnung, nach der ich suchen muss? Grüße!
- Bilder
|
juribel
Anmeldungsdatum: 20. April 2014
Beiträge: 1236
|
Moin, es dürfte sich in geany wohl um eine der "Westlich"-Kodierungen handeln. ANSI ist eigentlich ein schwammiger Begriff, weil es da viele verschiedene 7- oder 8-Bit Zeichensätze gibt. Welcher da für deine Dokumente zutrifft, musst du wohl ausprobieren. Windows, zumindest die früheren Versionen, wusste ja selber nicht richtig damit umzugehen, denn Dateien, die in einem Windows-Programm erzeugt wurden und "richtig" aussahen, konnten im Terminal auch schon mal total falsch aussehen. Viele freundliche Grüsse, juribel
|
Hannes2222
(Themenstarter)
Anmeldungsdatum: 25. Oktober 2017
Beiträge: 60
|
Alles klar, Juribel, vielen Dank für Deine Hilfe. Grüße! Hannes
|
juribel
Anmeldungsdatum: 20. April 2014
Beiträge: 1236
|
|