AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zusammengehörige Zeichen erkennen.

Ein Thema von himitsu · begonnen am 18. Mai 2010 · letzter Beitrag vom 19. Mai 2010
 
Benutzerbild von himitsu
himitsu

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

Re: Zusammengehörige Zeichen erkennen.

  Alt 18. Mai 2010, 20:10
OK, da inzwischen auch schon jemandem mit mir via PN geschrieben hat, hier noch ein paar Überlegungen:

- es wird eine Datei oder was Anderes stückchenweise ausgelesen und verarbeitet, dabei dürfen aber natürlich zusammenhängende Strukturen nicht getrennt werden.

- da die UTF-8-Unterstüzung seitens Windows einfach nur bescheiden ist, wird das Suchen hier, selber erledigt müssen, wobei sich die Leading-/Trailing-Bytes über einen Bitvergleich recht leicht finden lassen

- die SurrogaePairs im Unicode muß ich auch selber suchen

> heißt also, daß UTF-8, UC2 und UC2-LE manuell geprüft werden

- bei den anderen CodePages, werde ich wohl versuchen über IsLeadChar und CharNextExA, bzw. CharNextW (leider gibt es auch keine Unterstützung für UC2-LE, aber die Zeit für eine Umkodierung nehm ich in Kauf, da dieses wohl selten gnutzt wird)

Wo es allerdings ein großes Problem gibt, das sind die Combining-Chars
U+0061 U+030a (LATIN SMALL LETTER A + COMBINING RING ABOVE) ergeben ja "å"


Aktuell ist mein Plan mich erstmal an den Steuerzeichen zu orientieren und möglichst da zu schneiden und wenn da keines (in einem angemessenen Bereich) zu finden ist, dann versuch ich mir noch was zu überlegen, um MultiByte-, Combining-, Surrogate-, UTF-8-, UTF-7-Zeichen und was weiß ich noch, zu erkennen und möglichst nur vor/nach diesen Zeichen zu schneiden.

Derzeit arbeitet mein Code zeilenweise, aber diese kurzen Stückchen lassen sich einfach nicht optimal verarbeiten und es bremst extrem aus.

Nja, zumindestens hab ich vorhin mal angefangen diese Verarbeitung in eine eigene Klasse auszulagen, weil es irgendwie immer mehr wird, als Anfangs mal gedacht war.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
 


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 16:38 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