Binär Code in Text umwandeln
Ist es möglich mit einer Batch Datei Binären Code (automatisch) in Text umzuwandeln?
Habe folgenden Binären Code in einer Datei:
11001100
01101100
00000100
10001100
10001100
10101100
usw...
Die Binär Zahlen müssen als erstes umgekehrt (gespiegelt) werden:
00110011
00110110
00100000
00110001
00110001
00110101
usw...
Dann sollen die (umgekehrten) Binär Zahlen in Text (ASCII) umgewandelt werden:
36 115
Da das immer noch dezimal ASCII ist muss noch einmal umgewandelt werden.
$s
Zum nachvollziehen - http://www.vortex.prodigynet.co.uk/misc/ascii_conv.html
Habe folgenden Binären Code in einer Datei:
11001100
01101100
00000100
10001100
10001100
10101100
usw...
Die Binär Zahlen müssen als erstes umgekehrt (gespiegelt) werden:
00110011
00110110
00100000
00110001
00110001
00110101
usw...
Dann sollen die (umgekehrten) Binär Zahlen in Text (ASCII) umgewandelt werden:
36 115
Da das immer noch dezimal ASCII ist muss noch einmal umgewandelt werden.
$s
Zum nachvollziehen - http://www.vortex.prodigynet.co.uk/misc/ascii_conv.html
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 45189
Url: https://administrator.de/forum/binaer-code-in-text-umwandeln-45189.html
Ausgedruckt am: 15.05.2025 um 06:05 Uhr
40 Kommentare
Neuester Kommentar
Hallo Paul3 und willkommen im Forum!
Wenn Du nicht auf Batch bestehst, würde das folgende Deine Aufgabe lösen:
Zum Testen den Code als "DeCrypt.vbs" speichern und die Datei mit den Binärdaten auf die "DeCrypt.vbs" ziehen. Um die Lösung in einem Batch zu verwenden, folgende Zeile verwenden:
Das Ergebnis wird in die Variable Erg geschrieben, damit Du es weiterverarbeiten kannst. Um es anzuzeigen: "Echo %Erg%" im Batch oder einfach von der Commandline "Set Erg"
Wenn Du noch "BinDat.txt" durch "%1" ersetzt, kannst Du der Batchdatei die Binärdatei als Argument übergeben.
Grüße
bastla
[Edit] Errorhandling nur andeutungsweise implementiert, daher "MsgBox" verwendet [/Edit]
Wenn Du nicht auf Batch bestehst, würde das folgende Deine Aufgabe lösen:
'DeCrypt.vbs
Set fso=WScript.CreateObject("Scripting.FileSystemObject")
Set oFile = fso.OpenTextFile(WScript.Arguments(0),1)
sTemp = ""
Do While Not oFile.AtEndOfStream
BZahl = oFile.ReadLine
If Len(BZahl) <> 8 Then
oFile.Close
MsgBox "Eingabedaten fehlerhaft!"
WScript.Quit(1)
End If
DZahl = 0
For i = 1 to 8
DZahl = DZahl + CInt(Mid(BZahl, i, 1)) * 2^(i-1)
Next
sTemp = sTemp & Chr(DZahl)
Loop
oFile.Close
aErg = Split(sTemp, " ")
sErg = ""
For i = 0 To UBound(aErg)
sErg = sErg & Chr(aErg(i))
Next
WScript.Echo sErg
for /f %%i in ('CScript //nologo "DeCrypt.vbs" "BinDat.txt"') do @set "Erg=%%i"
Wenn Du noch "BinDat.txt" durch "%1" ersetzt, kannst Du der Batchdatei die Binärdatei als Argument übergeben.
Grüße
bastla
[Edit] Errorhandling nur andeutungsweise implementiert, daher "MsgBox" verwendet [/Edit]
Hallo Paul3!
Da ich nicht wusste, was mit dem Ergebnis der Umwandllung passieren soll, habe ich eine "batch-taugliche" Lösung angestrebt - die neue Variante unten schreibt gleich direkt in eine Textdatei und kann dadurch helfen, dem Fehler auf die Spur zu kommen.
In die erste Zeile der Ergebnisdatei (Name und Pfad lassen sich anpassen, siehe Zeile "sOutFile = ...") wird die sich aus dem Umkehren und Umwandeln der Binärdaten ergebende Dezimalzahlenreihe geschrieben, in die zweite Zeile das Endergebnis.
Anmerkung: Dein kurzes Beispiel habe ich so interpretiert, dass die entstehenden Dezimalzahlen jeweils durch Leerstellen voneinander getrennt sein sollen.
Die abgebildete Fehlermeldung deutet darauf hin, dass eine der Dezimalzahlen nicht korrekt ist (im Sinne von "nicht als Zahl erkennbar" und damit vom falschen Typ). Das müsste sich jetzt in der Ergebnisdatei verifizieren lassen.
Neue Version:
Bitte um Rückmeldung!
bastla
Da ich nicht wusste, was mit dem Ergebnis der Umwandllung passieren soll, habe ich eine "batch-taugliche" Lösung angestrebt - die neue Variante unten schreibt gleich direkt in eine Textdatei und kann dadurch helfen, dem Fehler auf die Spur zu kommen.
In die erste Zeile der Ergebnisdatei (Name und Pfad lassen sich anpassen, siehe Zeile "sOutFile = ...") wird die sich aus dem Umkehren und Umwandeln der Binärdaten ergebende Dezimalzahlenreihe geschrieben, in die zweite Zeile das Endergebnis.
Anmerkung: Dein kurzes Beispiel habe ich so interpretiert, dass die entstehenden Dezimalzahlen jeweils durch Leerstellen voneinander getrennt sein sollen.
Die abgebildete Fehlermeldung deutet darauf hin, dass eine der Dezimalzahlen nicht korrekt ist (im Sinne von "nicht als Zahl erkennbar" und damit vom falschen Typ). Das müsste sich jetzt in der Ergebnisdatei verifizieren lassen.
Neue Version:
'DeCrypt.vbs
sOutFile = "C:\DeCryptErgebnis.txt"
Set fso=WScript.CreateObject("Scripting.FileSystemObject")
Set oInFile = fso.OpenTextFile(WScript.Arguments(0),1)
sTemp = ""
Do While Not oInFile.AtEndOfStream
BZahl = oInFile.ReadLine
If Len(BZahl) <> 8 Then
oInFile.Close
MsgBox "Eingabedaten fehlerhaft!"
WScript.Quit(1)
End If
DZahl = 0
For i = 1 to 8
DZahl = DZahl + CInt(Mid(BZahl, i, 1)) * 2^(i-1)
Next
sTemp = sTemp & Chr(DZahl)
Loop
oInFile.Close
Set oOutFile = fso.OpenTextFile(sOutFile, 2, True)
oOutFile.Write sTemp & vbCrLF
aErg = Split(sTemp, " ")
sErg = ""
For i = 0 To UBound(aErg)
sErg = sErg & Chr(aErg(i))
Next
oOutFile.Write sErg
oOutFile.Close
Bitte um Rückmeldung!
bastla
Ich denke, bastla hat einmal zu viel um die Ecke gedacht....
Ich habe zum Test einen halbseitigen Text in der vortex-Seite konvertieren lassen, die Binärwerte per Batch in einzelne Zeilen Schreiben lassen und mit bastla's modifiziertem Skript wieder retour gewandelt.
Gruß
Biber
P.S. Mit native Batch geht es nicht, da die von M$ in der Hilfe versprochene "Set /a"-Variante für Binärzahlen schlicht und einfach nicht implementiert ist.
P.P.S. Auf der angegebenen Seite wird BTW auf die ascii_conv.js-Implementierung verwiesen. Und die Jungs und Mädels konvertieren ja auch ganz zu Fuss mit handgemalten Tabellen. So etwas geht natürlich auch per Batch...
Aber da müsste man/frau ja bekloppt sein..
bastla's Weg über Algorithmus und minimal die chr()-Funktion ist der Richtige.
Anhang:
Der Ur-Text, den ich auf der vortex-Seite konvertiert habe:
Der Anfang der 01000100.txt
01000100
01101001
01100101
00100000
01110011
01101001
01100101
01100010
01100101
01101110
00100000
01011010
01110111
01100101
01110010
01100111
01100101
00100000
00101000
01100110
10000001
01110010
00100000
01010010
01100101
01100001
01101100
01101001
01110011
01110100
01100101
01101110
00101001
00100000
01000101
01110011
'DeCryptBiberVariante.vbs
Set fso=WScript.CreateObject("Scripting.FileSystemObject")
Set oFile = fso.OpenTextFile(WScript.Arguments(0),1)
sTemp = ""
Do While Not oFile.AtEndOfStream
BZahl = oFile.ReadLine
If Len(BZahl) <> 8 Then
oFile.Close
MsgBox "Eingabedaten fehlerhaft!"
WScript.Quit(1)
End If
DZahl = 0
For i = 1 to 8
DZahl = DZahl + CInt(Mid(BZahl, 9-i, 1)) * 2^(i-1)
Next
sTemp = sTemp & Chr(DZahl)
Loop
oFile.Close
WScript.Echo sTemp
Ich habe zum Test einen halbseitigen Text in der vortex-Seite konvertieren lassen, die Binärwerte per Batch in einzelne Zeilen Schreiben lassen und mit bastla's modifiziertem Skript wieder retour gewandelt.
Gruß
Biber
P.S. Mit native Batch geht es nicht, da die von M$ in der Hilfe versprochene "Set /a"-Variante für Binärzahlen schlicht und einfach nicht implementiert ist.
>set /a 0b00010110
Ungültige Zahl. Nummerische Konstanten sind entweder dezimale (17),
hexadezimale (0x11) oder oktale (021) Zahlen.
>set /?
.....
d.h. außerhalb eines Befehlsskripts ausgeführt wird, dann zeigt er
den endgültigen Wert des Ausdrucks an. Der Zuordnungsoperator erfordert
eine Umgebungsvariable auf der linken Seite des Operators. Nummerische Werte
stellen immer Dezimalzahlen dar, es sei denn, sie haben ein Präfix 0x für
hexadezimale Zahlen, <b>0b für binäre Zahlen </b>oder 0 für oktale Zahlen. Damit
stellt 0x12 dieselbe Zahl wie 18 oder 022 dar. Beachten Sie, dass die oktale
Schreibweise verwirrend sein kann: So sind 08 und 09 keine gültigen Zahlen,
da 8 und 9 keine erlaubten oktalen Ziffern sind.
Aber da müsste man/frau ja bekloppt sein..
bastla's Weg über Algorithmus und minimal die chr()-Funktion ist der Richtige.
Anhang:
Der Ur-Text, den ich auf der vortex-Seite konvertiert habe:
Die sieben Zwerge (für Realisten)
Es waren einmal sieben Zwerge, die lebten hinter den sieben Bergen. Tag
für Tag suchten sie im Bergwerk nach Gold. Jeder der Zwerge war
rechtschaffen, fleißig und achtete den Anderen.
Wenn einer von Ihnen müde wurde, ruhte er sich aus, ohne daß die Anderen
erzürnten. Wenn es einem von Ihnen an etwas mangelte, so gaben die
Anderen bereitwillig und gerne. Abends wenn das Tagwerk geschaffen war,
aßen sie einträchtig ihr Brot und gingen zu Bett. Am siebten Tage jedoch
ruhten sie.
Doch eines Tages meinte einer von Ihnen, daß sie so recht nicht wüßten,
wieviel denn geschafft sei und begann, die Goldklumpen zu zählen, die
sie Tag für Tag aus dem Bergwerk schleppten. Und weil er so mit Zählen
beschäftigt war, schufteten die Anderen für Ihn mit. Bald nahm ihn seine
neue Arbeit so in Anspruch, daß er nur noch zählte und die Hacke für
immer beiseite legte.
01000100
01101001
01100101
00100000
01110011
01101001
01100101
01100010
01100101
01101110
00100000
01011010
01110111
01100101
01110010
01100111
01100101
00100000
00101000
01100110
10000001
01110010
00100000
01010010
01100101
01100001
01101100
01101001
01110011
01110100
01100101
01101110
00101001
00100000
01000101
01110011
>cscript //nologo .\Decrypt1.vbs 01000100.txt
Die sieben Zwerge (für Realisten) Es waren einm
@Biber
Mein Script ist einfach nur eine Umsetzung des von Paul3 beschriebenen Algorithmus (wobei die Schritte "Spiegeln" und "bin2dec" in einem Aufwaschen erledigt werden).
Grüße
bastla
Ich denke, bastla hat einmal zu viel um die Ecke gedacht....
Ich dementiere auf das Entschiedenste, gedacht (oder vielleicht gar recherchiert) zu haben.Mein Script ist einfach nur eine Umsetzung des von Paul3 beschriebenen Algorithmus (wobei die Schritte "Spiegeln" und "bin2dec" in einem Aufwaschen erledigt werden).
Grüße
bastla
@bastla
Dann hab ich wohl den verkehrten Algorithmus...
Meine Beispieldaten hab ich oben gepostet...
Grüße
Biber
Dann hab ich wohl den verkehrten Algorithmus...
Meine Beispieldaten hab ich oben gepostet...
wobei die Schritte "Spiegeln" und "bin2dec" in einem Aufwaschen erledigt werden
Ja, hab ich die denn mehrfach aufgewaschen??? *tztzGrüße
Biber
@Biber
Vielleicht können wir uns einfach darauf einigen, dass Paul3 den falschen Algorithmus hat
Für den allerdings müsste gelten, wie Du gern sagst: Works as designed.
Grüße
bastla
Vielleicht können wir uns einfach darauf einigen, dass Paul3 den falschen Algorithmus hat
Für den allerdings müsste gelten, wie Du gern sagst: Works as designed.
Grüße
bastla
@Biber
Ich würde meinen, Du hättest "zurückgespiegelt":
Für i=1 wird demnach Bit (9-i)=8 mit 2^(i-1)=0 multipliziert - wie gesagt, ich hatte beide Vorgänge kombiniert und deshalb nicht 2^(8-i) geschrieben, wie ich das im "Normalfall" machen würde.
Grüße
bastla
Ich würde meinen, Du hättest "zurückgespiegelt":
Für i=1 wird demnach Bit (9-i)=8 mit 2^(i-1)=0 multipliziert - wie gesagt, ich hatte beide Vorgänge kombiniert und deshalb nicht 2^(8-i) geschrieben, wie ich das im "Normalfall" machen würde.
Grüße
bastla
@Paul3
Kann nicht sein...
Die von bastla gepostete erste Version kracht ab, weil bei seiner Konvertierung nur mit einer Wahrscheinlichkeit von 0,43%% überhaupt Leerzeichen enthalten sein können in dem "sText", der später bei den Leerzeichen gesplittet werden soll [ aErg = Split(sTemp, " ") ]
Siehe die Diskussion der letzten halben Stunde.
Die andere Frage - die Konvertierung in beliebige Richtung: http://www.vortex.prodigynet.co.uk/misc/ascii_conv.js anschauen.
Gruß
Biber
Kann nicht sein...
Die von bastla gepostete erste Version kracht ab, weil bei seiner Konvertierung nur mit einer Wahrscheinlichkeit von 0,43%% überhaupt Leerzeichen enthalten sein können in dem "sText", der später bei den Leerzeichen gesplittet werden soll [ aErg = Split(sTemp, " ") ]
Siehe die Diskussion der letzten halben Stunde.
Die andere Frage - die Konvertierung in beliebige Richtung: http://www.vortex.prodigynet.co.uk/misc/ascii_conv.js anschauen.
Gruß
Biber
...das ist ja ein heiterer Thread hier... 
@bastla
Noch mal zum Hin- und Her- und Doppeltspiegeln:
Wenn ich in "unseren" Code ganz ganz doll abspecke...
...dann nimmt der zum Testen EINE Binär-Zahl.
Ich lasse mir auf der vortex.Seite (die sind neutral) das "A" umwandeln:
A---> 01000001
So, und nu' am Cmd-Prompt:
Da is' nix mehrfach oder doppelt oder redundant gespiegelt!..oder doch?
Wie herum hättest Du denn das "A" umgerechnet?
Grüße
Biber,
...der dafür nicht richtig "Promille" schreiben kann...
@bastla
Noch mal zum Hin- und Her- und Doppeltspiegeln:
Wenn ich in "unseren" Code ganz ganz doll abspecke...
'DeCrypt2.vbs
BZahl = WScript.Arguments(0)
sTemp = ""
DZahl = 0
For i = 1 to 8 ' step -1
DZahl = DZahl + CInt(Mid(BZahl, 9-i, 1)) * 2^(i-1)
WScript.echo "Mid(" & Bzahl& "(" & 9-i & "),1) " & CInt(Mid(BZahl, 9-i, 1)) * 2^(i-1) & " Gesamt: " & DZahl
Next
sTemp = sTemp & Chr(DZahl)
WScript.Echo sTemp
Ich lasse mir auf der vortex.Seite (die sind neutral) das "A" umwandeln:
A---> 01000001
So, und nu' am Cmd-Prompt:
>cscript //nologo .\Decrypt2.vbs 01000001
Mid(01000001(8),1) 1 Gesamt: 1
Mid(01000001(7),1) 0 Gesamt: 1
Mid(01000001(6),1) 0 Gesamt: 1
Mid(01000001(5),1) 0 Gesamt: 1
Mid(01000001(4),1) 0 Gesamt: 1
Mid(01000001(3),1) 0 Gesamt: 1
Mid(01000001(2),1) 64 Gesamt: 65
Mid(01000001(1),1) 0 Gesamt: 65
A
Da is' nix mehrfach oder doppelt oder redundant gespiegelt!..oder doch?
Wie herum hättest Du denn das "A" umgerechnet?
Grüße
Biber,
...der dafür nicht richtig "Promille" schreiben kann...
sorry, ich seh es nicht... auch nicht auf der vortex-Seite.
Die ersten zwei Schritte dort habe ich genauso
ASCII-Text: "Die sieb"
Dez: 68, 105, 101, 32, 115, 105, 101, 98
Hex: 44, 69, 65, 20, 73, 69, 65, 62
"Binär"
01000100, 01101001, 01100101, 00100000,
01110011, 01101001, 01100101, 01100010
Und nix, was ich spiegeln oder auswaschen muss....
Die Binär-Werte, die bei Dir im Posting stehen, kann ich nicht nachvollziehen.
Aber ich hol mir erstmal ein Käffchen...
Biber
[Edit] Aaaaaaaaaaaaaaaaaaaahhhhhhh... Deine Binärzahlen in der Datei (im Eröffnungsposting) müssen gespiegelt werden... die auf der Vortex-Seite nicht...
Nu' hab ich's verstanden...
[/Edit]
Die ersten zwei Schritte dort habe ich genauso
ASCII-Text: "Die sieb"
Dez: 68, 105, 101, 32, 115, 105, 101, 98
Hex: 44, 69, 65, 20, 73, 69, 65, 62
"Binär"
01000100, 01101001, 01100101, 00100000,
01110011, 01101001, 01100101, 01100010
Und nix, was ich spiegeln oder auswaschen muss....
Die Binär-Werte, die bei Dir im Posting stehen, kann ich nicht nachvollziehen.
Aber ich hol mir erstmal ein Käffchen...
Biber
[Edit] Aaaaaaaaaaaaaaaaaaaahhhhhhh... Deine Binärzahlen in der Datei (im Eröffnungsposting) müssen gespiegelt werden... die auf der Vortex-Seite nicht...
Nu' hab ich's verstanden...
[/Edit]
@Biber

bastla
DZahl = DZahl + CInt(Mid(BZahl, 9-i, 1)) * 2^(i-1)
Da is' nix mehrfach oder doppelt oder redundant gespiegelt!..oder doch?
Damit rechnest Du das achte Bit mit dem Faktor 2^0, was völlig richtig ist (also gar nicht oder eben doch doppelt gespiegelt); ich hatte den Faktor 2^0 für das erste Bit verwendet, also tatsächlich gespiegelt - aber nach derart vielen Bit und den entsprechenden Promillen wohl auch schon egal Da is' nix mehrfach oder doppelt oder redundant gespiegelt!..oder doch?
Wie herum hättest Du denn das "A" umgerechnet?
01000001 -> 10000010 = 128 + 2 = 130bastla
@Paul3
Warum eigentlich willst Du spiegeln? Soll das zusätzlich eine Art "Verschlüsselung" werden?
bastla
Warum eigentlich willst Du spiegeln? Soll das zusätzlich eine Art "Verschlüsselung" werden?
bastla
@Paul3
Solange die Konvertierung in die eine Richtung nicht klappt, mag ich es nicht in die andere probieren ...
Ich habe meine letzte Fassung von oben nochmals etwas abgeändert, so dass alle richtig erkannten Zeichen (bis zum Fehler) ebenfalls in die Ergebnisdatei geschrieben werden (sollten).
Wenn Du noch ein "On Error Resume Next" an den Anfang stellst, werden Fehler einfach ignoriert und der Ablauf fortgesetzt - das würde ich aber erst versuchen, wenn die Analyse des Fehlers mit den zusätzlichen Daten nix gebracht hat.
Grüße
bastla
Solange die Konvertierung in die eine Richtung nicht klappt, mag ich es nicht in die andere probieren ...
Ich habe meine letzte Fassung von oben nochmals etwas abgeändert, so dass alle richtig erkannten Zeichen (bis zum Fehler) ebenfalls in die Ergebnisdatei geschrieben werden (sollten).
'DeCrypt0.3.vbs
sOutFile = "C:\DeCryptErgebnis.txt"
Set fso=WScript.CreateObject("Scripting.FileSystemObject")
Set oInFile = fso.OpenTextFile(WScript.Arguments(0),1)
sTemp = ""
Do While Not oInFile.AtEndOfStream
BZahl = oInFile.ReadLine
If Len(BZahl) <> 8 Then
oInFile.Close
MsgBox "Eingabedaten fehlerhaft!"
WScript.Quit(1)
End If
DZahl = 0
For i = 1 to 8
DZahl = DZahl + CInt(Mid(BZahl, i, 1)) * 2^(i-1)
Next
sTemp = sTemp & Chr(DZahl)
Loop
oInFile.Close
Set oOutFile = fso.OpenTextFile(sOutFile, 2, True)
oOutFile.Write sTemp & vbCrLF
aErg = Split(sTemp, " ")
For i = 0 To UBound(aErg)
oOutFile.Write Chr(aErg(i))
Next
oOutFile.Close
Wenn Du noch ein "On Error Resume Next" an den Anfang stellst, werden Fehler einfach ignoriert und der Ablauf fortgesetzt - das würde ich aber erst versuchen, wenn die Analyse des Fehlers mit den zusätzlichen Daten nix gebracht hat.
Grüße
bastla
...also dann würde ich zum Fehler-Lokalisieren statt:
Denn das lässt doch auf einenfalschen suboptimalen Algorithmus schließen.
oOutFile.Write Chr(aErg(i))
--...schreiben:....
For i = 0 To UBound(aErg)
j = int( aErg(i))
if (j >32 and j <=255) then
oOutFile.Write Chr(j)
else
oOutFile.Write "[+ Chr(" & j & ")] + "
wscript.echo aErg(i) & " Nicht erwartet: chr(" & j &")"
end if
Next
Denn das lässt doch auf einen
Hallo Paul3!
Hab's mir anders überlegt - hier der EnCoder:
Grüße
bastla
Hab's mir anders überlegt - hier der EnCoder:
'EnCrypt.vbs
sOutFile = "D:\ADM\EnCryptErgebnis.txt"
Set fso=WScript.CreateObject("Scripting.FileSystemObject")
Set oInFile = fso.OpenTextFile(WScript.Arguments(0),1)
sTemp = oInFile.ReadAll
oInFile.Close
sAscii = CStr(Asc(Left(sTemp, 1)))
iAnz = Len(sTemp)
For i = 2 To iAnz
sAscii = sAscii & " " & CStr(Asc(Mid(sTemp, i, 1)))
Next
sErg = ""
iAnz = Len(sAscii)
For i = 1 To iAnz
DZahl = Asc(Mid(sAscii, i, 1))
sBZahl = ""
For j = 7 To 0 Step -1
iBit = Int(DZahl / 2^j)
sBZahl = CStr(iBit) & sBZahl
DZahl = DZahl - iBit * 2^j
Next
sErg = sErg & sBZahl
If i <> iAnz Then
sErg = sErg & vbCrLF
End If
Next
Set oOutFile = fso.OpenTextFile(sOutFile, 2, True)
'oOutFile.Write sTemp & vbCrLF & sAscii & vbCrLF
oOutFile.Write sErg
oOutFile.Close
MsgBox "Done."
Grüße
bastla
@Biber
Ist sicher für's Debugging die bessere Variante; ich hatte auch daran gedacht, nach jedem einzelnen Char die Datei zu schließen und danach mit "Append" wieder zu öffnen, da ich mir nicht sicher bin, ob VBS puffert.
bastla
Ist sicher für's Debugging die bessere Variante; ich hatte auch daran gedacht, nach jedem einzelnen Char die Datei zu schließen und danach mit "Append" wieder zu öffnen, da ich mir nicht sicher bin, ob VBS puffert.
bastla
@Paul3
Der Fehler muss eigentlich immer noch kommen, da ich den gleichen Algorithmus benutze, nur schon früher Daten in die Datei stelle - daher kannst Du den fehlerfreien Teil des Ergebnisses sehen.
Biber hat oben einen für die Fehlersuche besser geeigneten Programmteil reingestellt - versuch's mal damit bzw mit dem "On Error Resume Next".
Grüße
bastla
Der Fehler muss eigentlich immer noch kommen, da ich den gleichen Algorithmus benutze, nur schon früher Daten in die Datei stelle - daher kannst Du den fehlerfreien Teil des Ergebnisses sehen.
Biber hat oben einen für die Fehlersuche besser geeigneten Programmteil reingestellt - versuch's mal damit bzw mit dem "On Error Resume Next".
Grüße
bastla
@Paul3

Ergibt denn das, was vom umgewandelten Text (am Ende der Ergebnisdatei) zu sehen ist, überhaupt einen Sinn? Falls ja, dann muss man wohl annehmen, dass die Ausgangsdaten einen Fehler enthalten, an dem das Script hängen bleibt, ansonsten gehen wir die Sache falsch an.
Grüße
bastla
Also mit "On Error Resume Next" im DeCrypt0.3.vbs Script kommt schon mal kein
Fehler mehr.
Womit Du den Zweck dieser Anweisung erklärt hast ... Fehler mehr.
Ergibt denn das, was vom umgewandelten Text (am Ende der Ergebnisdatei) zu sehen ist, überhaupt einen Sinn? Falls ja, dann muss man wohl annehmen, dass die Ausgangsdaten einen Fehler enthalten, an dem das Script hängen bleibt, ansonsten gehen wir die Sache falsch an.
Grüße
bastla
...o mann/frau.... ist das peinlich... so lange auf die paar Zeilen geguckt..
Es muss natürlich heißen...
Da haben auch meine Debugzeilen nichts geholfen....
Jetzt sollte es fliegen.
Schönen Abend
Biber
[Edit] Und den hab ich grad erst gelesen:
Mein Fehler. Chr(32) ist ja durchaus erlaubt. Das ist das Leerzeichen selbst.
Also die ganze kleine Debugschleife dann:
[/Edit]
[EditEdit] Hat bastla auch schon gepostet, hab ich grad gesehen....[/EditEdit]
Es muss natürlich heißen...
For i = 0 To UBound(aErg)-1
und nichtFor i = 0 To UBound(aErg)
Da haben auch meine Debugzeilen nichts geholfen....
Jetzt sollte es fliegen.
Schönen Abend
Biber
[Edit] Und den hab ich grad erst gelesen:
Es kommt der Hinweis (Fehler):
32 Nicht erwartet: chr(32)
18x zum wegklicken - und es wird keine DeCryptErgebnis.txt erstellt!
32 Nicht erwartet: chr(32)
18x zum wegklicken - und es wird keine DeCryptErgebnis.txt erstellt!
Mein Fehler. Chr(32) ist ja durchaus erlaubt. Das ist das Leerzeichen selbst.
Also die ganze kleine Debugschleife dann:
...
For i = 0 To UBound(aErg)-1
j = int( aErg(i))
if (j >=32 and j <=255) then
oOutFile.Write Chr(j)
else
oOutFile.Write "[+ Chr(" & j & ")] + "
wscript.echo aErg(i) & " Nicht erwartet: chr(" & j &")"
end if
Next
....
[EditEdit] Hat bastla auch schon gepostet, hab ich grad gesehen....[/EditEdit]
@Biber

Ich mag nimmer ...
Gute Nacht allerseits
bastla
...o mann/frau.... ist das peinlich...
... Du hast es wenigstens nicht verbrochen Jetzt sollte es fliegen.
... und zwar raus!Ich mag nimmer ...
Gute Nacht allerseits
bastla
Ist irgendwie ne komische Sache mit den Bits und Byts
komisch im Sinne von lustig oder komisch im Sinne von merkwürdig? *ggNa, egal... wenn das Problem gelöst ist, mach bitte einen Haken dran.
Ich möchte das asap schließen, ehe die Frühaufsteher gleich kommen und noch nachfragen wollen...
Nur Psycho Dad macht gern solche Kaugummithreads...
Gute Nacht
Biber