Text umwandeln (A-1, B-2, C-3, .)
Ganz primitiv ausgedrückt: Ich möchte, dass der Inhalt einer Textdatei ausgelesen wird und für jeden Buchstaben ein vorher zugewiesener Wert in einer zweiten Textdatei gespeichert wird.
Beispiel:
Textdatei 1:
Ausgabe Textdatei 2:
Kann mir jemand weiterhelfen?
Beispiel:
Definition: A=1, B=2, C=3
Textdatei 1:
ABC
Ausgabe Textdatei 2:
123
Kann mir jemand weiterhelfen?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 9739
Url: https://administrator.de/contentid/9739
Ausgedruckt am: 26.11.2024 um 10:11 Uhr
9 Kommentare
Neuester Kommentar
Hallo muesteff!
Vielleicht stellst Du am besten einmal die gesamte Ersetzungstabelle dar.
Grüße
bastla
- Wird jedes Zeichen nur durch jeweils ein anderes Zeichen ersetzt, oder soll zB aus dem "K" ein Eintrag "11" werden (mit dem Problem, im Ergebnis entscheiden zu müssen, ob damit "K" oder "AA" gemeint ist, oder aber ein Trennzeichen zwischen die einzelnen Zeichen setzen zu müssen).
- Sollen nur Buchstaben umgewandelt werden, oder auch Ziffern und ev Sonderzeichen?
Vielleicht stellst Du am besten einmal die gesamte Ersetzungstabelle dar.
Grüße
bastla
Hallo muesteff!
Leider kann ich Dir nicht wirklich folgen - bedeutet der Eintrag "50=A" dass jedes "A" durch die 2 Ziffern "5" und "0" repräsentiert werden soll, oder ist damit das Zeichen mit dem (Hex-)Code 50 gemeint - und was ist unter den Einträgen ab "0AA1" zu verstehen?
Stell bitte auch noch ein Stück der Quell- und der Zieldatei rein.
Grüße
bastla
Leider kann ich Dir nicht wirklich folgen - bedeutet der Eintrag "50=A" dass jedes "A" durch die 2 Ziffern "5" und "0" repräsentiert werden soll, oder ist damit das Zeichen mit dem (Hex-)Code 50 gemeint - und was ist unter den Einträgen ab "0AA1" zu verstehen?
Stell bitte auch noch ein Stück der Quell- und der Zieldatei rein.
Grüße
bastla
Hallo muesteff!
Hiermit sind auch die letzten Klarheiten beseitigt:
Grüße
bastla
Ich möchte dass wenn ich z.B. ein A eingebe, ich ein 50 als Ausgabe (in eine Textdatei?) bekomme. Man kann das vielleicht mit einer Textverschlüsselung vergleichen.
Ebenso ist das mit den Einträgen ab 0AA1 gedacht: Bei der Eingabe von 1330 möchte ich als Ausgabe Yuna bekommen.
Hiermit sind auch die letzten Klarheiten beseitigt:
- Willst Du etwas eingeben, oder sollen die Ausgangsdaten aus einer Textdatei gelesen werden?
- Soll aus "1330" tatsächlich "Yuna" gemacht werden, oder soll in der Ausgabedatei anstatt "Yuna" der Wert "1330" stehen (so hätte ich die Tabelle interpretiert).
- Woher weiß ich, ob "Yuna" als Einheit zu betrachten ist oder die Zeichenfolge "Y", "u", "n" und "a" darstellt und entsprechend in 4 Ausgabezahlen umzuwandeln ist (bzw dass nicht "1330" zu "31333330" werden soll?
Grüße
bastla
hi muesteff,
ich arbeite an auch an einer verschlüsselung... guckst du hier
nur deine scheint mir weit aus problematischer, du wirst nach jedem zeichen bzw 2 zahlen ein leerzeichen einführen müssen damit der text auch anständig zurückinterpretiert werden kann
und dann belieb noch weitere probleme die bastla auch schon angesprochen hat.
einfacher wäre eine verschlüsselung die ein zeichen gegen ein anderes austauscht, und dann kannst du auch ganze wörter in ein zeichen packen.
gruß, Ph
ich arbeite an auch an einer verschlüsselung... guckst du hier
nur deine scheint mir weit aus problematischer, du wirst nach jedem zeichen bzw 2 zahlen ein leerzeichen einführen müssen damit der text auch anständig zurückinterpretiert werden kann
und dann belieb noch weitere probleme die bastla auch schon angesprochen hat.
einfacher wäre eine verschlüsselung die ein zeichen gegen ein anderes austauscht, und dann kannst du auch ganze wörter in ein zeichen packen.
gruß, Ph
Hallo muesteff!
Versuch mal folgendes Script:
Speichere unter "Codieren.vbs" und ziehe die Eingabedatei auf das Script. Die Ausgabedatei wird unter dem Namen "Eingabedatei-codiert" mit dem selben Typ und im selben Ordner wie die Eingabedatei gespeichert.
Grüße
bastla
Versuch mal folgendes Script:
If WScript.Arguments.Count < 1 Then
WScript.Echo "Keine Datei zu bearbeiten."
WScript.Quit(1)
End If
sQuelle = WScript.Arguments(0)
Set fso = CreateObject("Scripting.FileSystemObject")
If Not fso.FileExists(sQuelle) Then
WScript.Echo "Datei " & sQuelle & " nicht gefunden!"
WScript.Quit(1)
End If
sTyp = Mid(sQuelle, InstrRev(sQuelle, "."))
sPfad = Left(sQuelle, Len(sQuelle) - Len(sTyp))
sZiel = sPfad & "-codiert" & sTyp
Set oQuelle = fso.OpenTextFile(sQuelle, 1)
sEinText = oQuelle.ReadAll
oQuelle.Close
sAusText = ""
For i = 1 To Len(sEinText)
Ein = Mid(sEinText, i, 1)
If Ein >= "A" And Ein <= "Z" Then
Aus = Hex(Asc(Ein) - 65 + 80)
ElseIf Ein >= "a" And Ein <= "z" Then
Aus = Hex(Asc(Ein) - 97 + 112)
Else
Select Case Ein
Case "|"
Aus = "00"
Case Chr(13)
Aus = "03"
Case Chr(10)
Aus = ""
Case " "
Aus = "3A"
Case "."
Aus = "48"
Case "'"
Aus = "41"
Case "," 'kommt unten nochmals
Aus = "46"
Case "-"
Aus = "47"
Case "!"
Aus = "3B"
Case "," 'bereits oben erfasst
Aus = "4A"
Case "?"
Aus = "4F"
Case "["
Aus = "6A"
Case "]"
Aus = "6C"
Case "ß"
Aus = "B9"
Case "ä"
Aus = "BD"
Case "ö"
Aus = "CB"
Case "ü"
Aus = "CF"
Case Else 'nicht angeführtes Zeichen
Aus = "__"
End Select
End If
sAusText = sAusText & Aus
Next
Set oZiel = fso.OpenTextFile(sZiel, 2, True) 'ev bereits existierende Zieldatei wird überschrieben
oZiel.Write sAusText
oZiel.Close
WScript.Echo "Fertig."
Grüße
bastla