AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Textdatei auf gültigen Zeichensatz prüfen

Textdatei auf gültigen Zeichensatz prüfen

Ein Thema von Mike_on_Tour · begonnen am 12. Okt 2012 · letzter Beitrag vom 15. Okt 2012
Antwort Antwort
Mike_on_Tour

Registriert seit: 16. Aug 2007
195 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

AW: Textdatei auf gültigen Zeichensatz prüfen

  Alt 12. Okt 2012, 08:26
Die Ansammlung von Bytes hat schon eine feste Struktur, aber es gibt keine Information zur verwendeten Codierung.
Programmieren ist wie das Wandeln auf dem schmalen Pfad zwischen Wahnsinn und Intelligenz.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.587 Beiträge
 
Delphi 12 Athens
 
#2

AW: Textdatei auf gültigen Zeichensatz prüfen

  Alt 12. Okt 2012, 09:08
Jupp, ANSI (CodePages/Zeichensätze) besitzen keine Kennung, wie z.B. das Unicode-BOM,
denn diese besitzen alle die selbe Kodierung und nur die Interpretation der einzelnen Werte (z.B. per Transformationstabellen ala 'ner CodePage) unterscheidet sich.

Beim Unicode hat aber jeder Wert ein genau definiertes Zeichen, aber die Kodierung/Speicherung dieser Werte ist vorgegeben.
Dieses BOM, welches man z.B. kennt, ist ein bestimmter Wert (Marker) und anhand dessen, wie er gespeichert wurde, erkennt man daran, um welches Encoding es sich handelt. (abgesehn von einer Standardkodierung, welche man sich für die jeweilige Datei, bzw. das jeweilige OS festgelegt hat).


Wie also schon genannt wurde:
Wenn nicht irgendwo steht, um welche Kodierung es sich handelt, wie z.B. BOM, Attribut (XML) oder irdendwas Externes, ist es unmöglich.

Abgesehn von 7-Bit-Kodierungen, wie z.B. ASCII, sind im ANSI eigentlich erstmal alle Zeichen gültig.



PS: Das Thema wurde schon mehrmals hier angesprochen. SuFu?
Man kann versuchen über Wörterbücher, Häufigkeitsverteilungen von Zeichen oder bestimmte CodeMuster zu erkennen, um was es sich handelt, aber 100%ig Sicher ist das niemals.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (12. Okt 2012 um 09:12 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Textdatei auf gültigen Zeichensatz prüfen

  Alt 12. Okt 2012, 09:43
Das ein Programm Textausgaben mit unterschiedlichen Codierungen erstellt, finde ich schon sehr seltsam. Wenn dann auch noch ISO 646 und ISO 8859 gemischt werden.. aber gut meine Phantasie reicht für soetwas nicht aus.

Um was für Daten handelt es sich denn dabei? Sind sie irgendwie strukturiert?
ist der Text in Abschnitte unterteilt, mit z.b. Titel und Sprachangabe?
Oder handelt es sich um plain text?

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#4

AW: Textdatei auf gültigen Zeichensatz prüfen

  Alt 12. Okt 2012, 09:48
Das Programm Notepad++ zeigt Dir unten rechts ein Codierung an, sofern Notepad++ diese auslesen kann.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.234 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Textdatei auf gültigen Zeichensatz prüfen

  Alt 12. Okt 2012, 10:09
Man kann versuchen über Wörterbücher, Häufigkeitsverteilungen von Zeichen oder bestimmte CodeMuster zu erkennen, um was es sich handelt, aber 100%ig Sicher ist das niemals.
Wird aber problematisch sein wenn mehrer Codepages in einer Datei sein sollen und man nicht weiß wo die einzelnen Abschnitte Anfangen oder Aufhören.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Mike_on_Tour

Registriert seit: 16. Aug 2007
195 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: Textdatei auf gültigen Zeichensatz prüfen

  Alt 15. Okt 2012, 13:26
Erst mal Danke für die Antworten.

Einen kleinen Fehler konnte ich inzwischen lokalisieren und beheben. Dabei handelte es sich um 10 Jahre alte Daten, die damals noch unter MS-DOS erstellt wurden und im Programm intern als ANSI konvertiert werden. Das Speichern der Daten erfolgt (aus historischen Gründen) wieder im DOS-Zeichensatz. Es wird also hin und her konvertiert. Die Dateiausgabe soll dann wieder im DOS-Zeichensatz erfolgen und da war dann auch das Problem. Wen es interessiert, die Datenstruktur gehört zum euBP-Verfahren.
Programmieren ist wie das Wandeln auf dem schmalen Pfad zwischen Wahnsinn und Intelligenz.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Textdatei auf gültigen Zeichensatz prüfen

  Alt 15. Okt 2012, 14:51
Solange Buchstaben nur der Darstellung dienen, sollte es da auch keine Probleme geben.
Das Konvertieren von Daten sollte eigentlich immer Kritisch gesehen werden, vor allem wenn es nur darum geht, Daten anzuzeigen.

Ich hab' mal kurz Google angeworfen, und wenn mir dann im Zusammenhang mit euBP XML entgegenleuchtet, dann solltest Du schleunigst aus den DosDaten (743/850) ANSI bzw UTF8 machen, und dann die alten Daten ruhen lassen.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Mike_on_Tour

Registriert seit: 16. Aug 2007
195 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

AW: Textdatei auf gültigen Zeichensatz prüfen

  Alt 15. Okt 2012, 15:25
Mir gefällt das hin und her konvertieren auch nicht, ich muss aber damit arbeiten. Bei einer Archivtiefe von über 10 Jahren bleibt einem eine Konvertierung kaum erspart, oder ? Danke für das "Leuchten", aber für mich sind nur die "Grundsätze für die Übermittlung der Daten für die elektronisch unterstützte Betriebsprüfung" bindend, weil Gesetz (da steht nichts von XML).
Programmieren ist wie das Wandeln auf dem schmalen Pfad zwischen Wahnsinn und Intelligenz.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Textdatei auf gültigen Zeichensatz prüfen

  Alt 15. Okt 2012, 16:04
Interessant, was man alles so im Internet findet...
Wie wäre es denn, mit mehreren Code"Generationen" zu arbeiten?
BZw. zumindestens die Dateien falls möglich, mit den verwendeten Code zu kennzeichnen?
z.b. Daten1980.850.txt ?

Dann hätte man eine Chance Unstimmigkeiten zu finden.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz