Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Sonder-und Steuerzeichen (https://www.delphipraxis.net/192696-sonder-und-steuerzeichen.html)

wendelin 11. Mai 2017 11:13

Sonder-und Steuerzeichen
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,

ich möchte mit Hilfe meines kleinen Programmes sog. PGN-Files einlesen (Schachpartien) und diese Schachpartien vorspielen.
Mit reinen Text-Dateien funktioniert alles vorzüglich. Nun habe ich aber PGN-dateien erhalten welche Sonderzeichen oder auch Steuerzeichen
enthalten. ( ChessBase - Datei) Diese kann ich jedoch nicht fehlerfrei einlesen.

Ich möchte nun von Euch wissen:

1. wie kann ich erkennen, ob die Datei UniCode (bzw. WideChar-Zeichen) enthält oder nur reinen ASCII-Text enthält?
2. wie kann ich sämtliche Sonderzeichen ,auch doppelte Zeilenumbrüche entfernen, so dass ich reinen ASCII-Text erhalte.

Ich habe schon mit TSysCharSet experimentiert und mit einer Func. 'StrKeepChars' aus der JCL. Komme aber damit nicht klar.
Im Anhang: 'Black-und White.pgn' -> Bad Files.
'Fisher.pgn' -> so sollte der Text-File aussehen !

Wendelin

p80286 11. Mai 2017 11:29

AW: Sonder-und Steuerzeichen
 
Ich habe einen kurzen Blick auf die Dateien geworfen, und verstege dein Problem nicht.
In beiden Fällen scheint es sich um "ASCII"-Dateien zu handeln, bei denen nach der 80? Stelle der Text umgebrochen wurde. Außer CRLF scheinen alle Dateien keine Steuerzeichen zu enthalten.

Hast Du Dir die Dateien schon einmal mit einem Hex-Editor angeschaut?
Zitat:

1. wie kann ich erkennen, ob die Datei UniCode (bzw. WideChar-Zeichen) enthält oder nur reinen ASCII-Text enthält?
entweder wird ein 8Bit oder ein 16 Bit Zeichensatz verwendet (es gibt auch 32Bit-Zeichensätze}, das sollte eigentlich im Hex-Editor erkennbar sein (entweder x0020/x2000 oder x20 für ein Leerzeichen)
UTF8 ist ein 8BitZeichensatz, der durch "Escape Chars" zur Anzeige von Unicode-Zeichen ertüchtigt wurde.

Welches (Daten-)Format willst Du denn als Ausgabe erhalten?

Gruß
K-H

Luckie 11. Mai 2017 11:33

AW: Sonder-und Steuerzeichen
 
Sollte die Datei ein BOM haben, ist es recht einfach: http://docwiki.embarcadero.com/Libra...BufferEncoding
Ohne wird es wohl schwierig.

nahpets 11. Mai 2017 11:43

AW: Sonder-und Steuerzeichen
 
Black und White haben am Anfang 'nen BOM  stehen.

Weiterer Unterschied:

In Fischer gibt es sowas: 1.d4

In Black und White sieht das (un)passende Gegenstück so aus: 1. d4

Grob erscheint mir das so:

In Black und White müssen die hinter einem Punkt befindlichen Leerzeichen entfernt werden.

wendelin 11. Mai 2017 22:30

AW: Sonder-und Steuerzeichen
 
Hallo Napets,

vielen Dank für Deinen Hinweis.
Diese Problem ist mir bei einigen anderen PGN-Files aus dem Netz auch schon aufgefallen.
Ich denke aber, daß es recht leicht zu beheben ist.
bezieht sich auf den zweiten Unterschied

Wendelin

wendelin 12. Mai 2017 22:13

AW: Sonder-und Steuerzeichen
 
Hallo,

problem gelöst. Habe einfach bei den Bad-Files mit Hexeditor die ersten 3 Zeichen (BOM) gelöscht.
danke
Wendelin

himitsu 13. Mai 2017 01:12

AW: Sonder-und Steuerzeichen
 
Eigentlich das nur ein Zeichen, wenn man es vorher richtig dekodiert hat.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:26 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz