ubuntuusers.de

Text-Datei in ANSI-Codierung abspeichern?

Status: Gelöst | Ubuntu-Version: Ubuntu 20.04 (Focal Fossa)
Antworten |

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):

1
2
3
4
5
6
#!/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 Team-Icon

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 Team-Icon

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

Gerne!

Antworten |