gurkenhobel
Goto Top

VBScript: Hexwert durch Zeichen (String) ersetzen

Hallo Gemeinde,
ich benötige wieder einmal Euer sachkundiges Expertenwissen.
Und zwar möchte ich ältere Textdokumente (erstellt um 2000, evtl. WORD für DOS) in ein lesbares Text-Format konvertieren. Dazu ist es nötig, einige Hexwerte in lesbare Zeichen (Umlaute) umzuwandeln. Die anderen Zeichen sind korrekt.
Dies betrifft die Hexwerte "81,84,8E,94,99,9A,E1", die in die Zeichen "ü,ä,Ä,ö,Ö,Ü,ß" ersetzt werden sollen. Wie kann man das machen ?
Danke im voraus.

Content-ID: 353967

Url: https://administrator.de/contentid/353967

Ausgedruckt am: 23.11.2024 um 03:11 Uhr

MrCount
MrCount 07.11.2017 um 16:04:16 Uhr
Goto Top
Servus,

guckstu hier... face-wink
Gurkenhobel
Gurkenhobel 07.11.2017 um 16:12:56 Uhr
Goto Top
...habsch doch gemacht, aber nix brauchbares gefunde...
MrCount
MrCount 07.11.2017 um 16:20:08 Uhr
Goto Top
Dann gib doch mal bitte ein Beispiel für eine dir vorliegende Datei (Screenshot).
134464
134464 07.11.2017 aktualisiert um 16:35:52 Uhr
Goto Top
...habsch doch gemacht, aber nix brauchbares gefunde...
Och nö ....
Function HexToChar(strHex)
	HexToChar = ChrW(strHex)
End Function

MsgBox HexToChar("&H" & "D6")  
Setz mal die Sonnenbrille ab leg den Gurkenhobel bei Seite face-smile.
Gurkenhobel
Gurkenhobel 07.11.2017 um 16:37:19 Uhr
Goto Top
Im Screenshot des Hexeditors ist im Hauptfenster die 81 (Hexwert) grün unterlegt, sie soll in ein ü umgewandelt werden. Vier Offsets weiter findet sich der Hexwert 84. Der soll in das ä umgewandelt werden. So dass schließlich das Wort 'Grüngräbchen' entsteht.
Danke.
hexedit
MrCount
MrCount 07.11.2017 aktualisiert um 16:50:28 Uhr
Goto Top
Dann würde ich sagen, dass du den hier brauchst...

Damit kann man in mehreren Datein, die man zuvor in der HEX-Ansicht öffnet, Zeichen ersetzen.

hexaedit[1]
Gurkenhobel
Gurkenhobel 07.11.2017 um 16:52:28 Uhr
Goto Top
@ Specht,
sry und danke, Du hattest vor meinen Screenshot geantwortet und konntest so nicht sehen, daß diese Funktion mir nicht weiterhilft. Irgendwie sind diese Texte strange codiert.
Die von Dir erwähnte Funktion war mir auch bekannt, nur geht sie bei den sechs Umlauten und dem sz nicht. Also aus H81 sollte eigentlich ü werden. Es kommt aber nur ein Leerzeichen...
Gurkenhobel
Gurkenhobel 07.11.2017 um 16:54:26 Uhr
Goto Top
Zuerst einmal danke, werde ihn mir gleich mal runterholen und testen...
MrCount
MrCount 07.11.2017 um 16:55:41 Uhr
Goto Top
emeriks
emeriks 07.11.2017 um 16:59:57 Uhr
Goto Top
Hi,
hm ...
Das Dokument im Binary-Mode öffnen, Byte für Byte einlesen, ggf. Byte austauschen und wieder als Datei speichern. Das soll nicht funktionieren?

Suche mal bei Google nach "vbscript read file binary", da findest Du genügend Beispiele.
Das Austauschen der Bytes (Zeichen) bekommst Du dann auch noch hin.

E.
134464
Lösung 134464 07.11.2017 aktualisiert um 17:04:20 Uhr
Goto Top
strange codiert.
Strange gibt's nicht als Kodierung face-wink. Kodierung kannst du mit jedem besseren Notepad ändern (UltraEdit,Notepad++, etc.).
Ich schätze du musst das File nur mit dem richtigen Kodierungs-Filter in Word öffnen ohne das ganze Austausch-Gedöns.
Gurkenhobel
Gurkenhobel 07.11.2017 um 17:37:11 Uhr
Goto Top
@ Specht
Habe es mit Word 2003 geöffnet. Konvertiert mit Westeuropäisch (DOS). Bis auf den Dateikopf lesbar. Hätte ich eher daraufkommen können... Danke.

@ Mr.Count
PSPad ist zwar ein guter Editor, doch kann man immer nur ein Zeichen ersetzen (ebenso wie mein Hexeditor). Man müsste also ein Makro schreiben, um verschiedene Zeichen pro Datei auf einmal zu ersetzen.

@ emeriks
danke für den Vorschlag, aber es erscheint mir doch etwas zu aufwendig. Die 60 Dateien kann ich ja in Word etwas schneller öffnen und konvertieren.

Danke allen für die Hilfe !