632 Aufrufe
Gefragt in Textverarbeitung von tacoomik Mitglied (373 Punkte)
wieder getaggt von tacoomik
Die aufgabe: Aus einer grösseren anzahl textdateien diejenige auszusuchen, die eine bestimmte zeichensequenz beinhalten.

Das problem: Die texte sind in Unicode, also 16 bit/zeichen und es erfolgt offensichtlich nur eine 8-bit-suche, die zweiten 8 bit jedes Unicode-zeichens werden demnach anscheinend als ein eingeständiges zeichen gewertet, womit die (als 8-bit) eingetippte geforderte zeichenfolge nicht richtig interpretiert werden kann (nur wenn ich als die gesuchte sequenz ein einziges zeichen eintippe, werden die dateien richtig gefunden; eine solche suche macht allerdings logischerweise nur sehr selten sinn).

Die frage: Gibt es irgendeine einigermassen enifache lösung des problems?

Plattform: Windows 98SE, XP

5 Antworten

0 Punkte
Beantwortet von xlking Experte (1.7k Punkte)

Hi tacoomik,

wie wär's erstmal mit einem netten "Hallo, ich bitte um eure Hilfe" oder so ähnlich? 

Leider hast du keine Angaben dazu gemacht mit welcher Programmiersprache du unterwegs bist. Diese Info ist essentiell, wenn du hier Hilfe haben möchtest.

Ich hab zwar grad keine Idee wie man so ein Programm z.B. in VBA (mein Metier) aufbauen könnte - jede Datei einzeln öffnen, einlesen und prüfen, dürfte sehr lange dauern - aber dieser Teil scheint bei dir ja bereits zu funktionieren.

Falls du dein Problem in VBA lösen willst, dann schau dir mal die Funktionen StrConv, ChrW und AscW an. Zu anderen Sprachen kann ich dir leider nix sagen.

Gruß Mr. K.

0 Punkte
Beantwortet von tacoomik Mitglied (373 Punkte)
Bearbeitet von tacoomik
Vielen dank Mr. K.

Da muss etwas völlig missverstanden worden sein. Ich bin hier nicht als programmierer, sondern als anwender unterwegs, demnach also auch mit keiner programmiersprache. Als programmierer hätte ich mir höchstwahrscheinlich selbst helfen können.

Falls die Windows-suche so funktioniert, wie du sagst - jede datei einzeln öffnen, einlesen und prüfen (kann mir nicht gut vorstellen, wie anders es gehen sollte) - sind die parameter richtig gesetzt, dauert das selbst in meinem betagten, für heutige verhältnisse sehr langsamen rechner gar nicht so lange.

Nichtsdestoweniger, sollte das der einfachste weg sein, wäre jemand so nett und könnte mir hier eine befehlsequenz in VB dafür vorlegen, wäre ich höchstwahrscheinlich in der lage diese einzusetzen (schon einmal gemacht, war allerdings sehr einfach, die applikation besteht aus nur einem einzigen befehl). Und weil ich vor vielen jahren im klassischen Basic programmiert habe, würde ich den ablauf vermutlich verstehen können.

Eine andere möglichkeit, die ich mir vorstellen kann, falls es sowas wie oben nicht bereits irgendwo fertig gibt: Sind die zweiten 8 bit der zeichen für alle im gesuchten text gleich, müsste ich nur wissen, welchem ASCII-zeichen sie ggf. entsprechen und diese zusätzlich zur suche eintippen
0 Punkte
Beantwortet von computerschrat Profi (32.7k Punkte)

Hallo tacoomik,

du kannst Unicode Zeichen über die Zehnertastatur eingeben, indem du die ALT-Taste gedrückt hältst, den vierstelligen Unicode mit der Zehnertastatur eingibst und die ALT-Taste loslässt. Das sollte auch in der Windows Suche funktionieren. Tabellen mit den Unicode Zeichen findest du hier: https://unicode.org/charts/

Gruß computerschrat

0 Punkte
Beantwortet von computerschrat Profi (32.7k Punkte)
Ich muss mich leider korrigieren. Die Eingabe mit ALT- plus Ziffernblock funktioniert nur für die gängigen ASCII-Zeichen im Wertebereich 0..255. Schade.

Gruß computerschrat
0 Punkte
Beantwortet von tacoomik Mitglied (373 Punkte)
 
Beste Antwort
Mit hilfe eines anderen forums lösung gefunden: Total Commander - dateien suchen, bei »Text suchen« Unicode UTF16 setzen :)
...