Zeichensatz aus Datei [ERLEDIGT]

Zugriff, Engines, Konvertierung. Von ADS über DBF bis zu SQL.

Moderator: Moderatoren

Antworten
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2263
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Kontaktdaten:

Zeichensatz aus Datei [ERLEDIGT]

Beitrag von Koverhage » Do, 06. Feb 2020 17:47

Habe bei der Suche nichts gescheites gefunden.
Ich muss des Öfteren Textdateien einlesen.
Normalerweise enthalten die DOS/OEM oder WIN/ANSI Zeichensätze.
Jetzt habe ich eine Datei die mit einem DOS Editor
DOS Editor
DOS Editor
2020-02-06_170149.png (355 Bytes) 683 mal betrachtet
Mit Windows Editor (ANSI Zeichensatz)
Müller
Mit Ultra Edit
Müller (wenn ich das hier einfüge, Original wie Bild)
Dateianhänge
Mit Ulra Edit
Mit Ulra Edit
2020-02-06_170710.jpg (2.21 KiB) 683 mal betrachtet
Zuletzt geändert von Koverhage am Fr, 07. Feb 2020 8:10, insgesamt 2-mal geändert.
Gruß
Klaus

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15008
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: Zeichensatz aus Datei

Beitrag von brandelh » Fr, 07. Feb 2020 7:20

das sieht für mich nach UTF8 kodiertem Text aus, einfach mal umsetzen was passiert.
PS: mit Notepad+ kann man alle möglichen Dateien öffnen und dann nachsehen welcher Zeichensatz verwendet wird (unter Codierung).
Gruß
Hubert

Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2263
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Kontaktdaten:

Re: Zeichensatz aus Datei

Beitrag von Koverhage » Fr, 07. Feb 2020 8:09

Danke, sehr hilfreich. Musste zwar ein wenig suchen weil bei mir Kodierung steht ;-)
Gruß
Klaus

Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2263
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Kontaktdaten:

Re: Zeichensatz aus Datei [ERLEDIGT]

Beitrag von Koverhage » Fr, 07. Feb 2020 8:12

Da müsste ich mir ja mal den Quellcode ziehen. Die Funktion zum Feststellen des Zeichensatzes könnte für mich sehr hilfreich sein.
Gruß
Klaus

Benutzeravatar
Marcus Herz
UDF-Programmierer
UDF-Programmierer
Beiträge: 60
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Kontaktdaten:

Re: Zeichensatz aus Datei [ERLEDIGT]

Beitrag von Marcus Herz » Fr, 07. Feb 2020 8:49

"Echte" Unicode Dateien haben einen Offset am Anfang, den clevere Editoren ausblenden (z.B. Notepad) aber den Zeichensatz erkennen:
UFT8:  xEF BB BF
UTF16;ÿþ xFF FE
oder
þÿ xFE FF
Man sieht das z.B. bei Combit LST Dateien am Anfang: sind UTF 8 Codiert

Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 13661
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Kontaktdaten:

Re: Zeichensatz aus Datei [ERLEDIGT]

Beitrag von Jan » Fr, 07. Feb 2020 8:53

BOM = Byte Order Mark

Machen aber dummerweise nicht alle Programme, ist also kein absolut sicheres Zeichen.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.

Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2263
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Kontaktdaten:

Re: Zeichensatz aus Datei [ERLEDIGT]

Beitrag von Koverhage » Fr, 07. Feb 2020 9:30

Ich mache das jetzt so
Erst prüfe ich auf chr(195)
Wenn vorhanden dann auf
195+159 usw.
das reicht erstmal für meine Zwecke aus
Gruß
Klaus

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15008
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: Zeichensatz aus Datei [ERLEDIGT]

Beitrag von brandelh » Fr, 07. Feb 2020 9:49

Wenn die Dateien von Linux, Unix oder Apple kommen können, muss man den Zeilen Trenner abfragen, so wie ich in meiner HBTextReader() Klasse:

Code: Alles auswählen

METHOD HBTxtReader:IsCrLf()
RETURN (::cCRLF == chr(13)+chr(10))

METHOD HBTxtReader:IsUnix()
RETURN (::cCRLF == chr(10))

METHOD HBTxtReader:IsMac()
RETURN (::cCRLF == chr(13))
Die Reihenfolge der Byte Order hängt vom Betriebssystem bzw. auch vom Prozessor ab.
Gruß
Hubert

Antworten