Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Binär Übersetzer per Batch (Vbs)

Mitglied: Alme123

Alme123 (Level 1) - Jetzt verbinden

10.07.2013 um 19:19 Uhr, 1682 Aufrufe, 9 Kommentare

Hallo zusammen,

ist es möglich, eine Batch Datei zu erstellen, die folgendes tut:

in Variable "tzv" befindet sich ein Text (vielleicht auch ü,ä,ö,ß,é,è) (z.B.: "Herr Meier schießt mit gewählten Schüßen auf André")
diese soll in Binär codiert und ausgegeben werden.
Dieser Binärcode soll dann in HEX konvertiert und zuletzt nach Decimal codiert werden.

Außerdem sollte dieser Prozess auch rückgängig gemacht werden können (Decimal -> HEX -> Binär ->Text)


Ist dies möglich oder nur Teile der Frage?


Vielen Dank im Vorraus,

Alme123
Mitglied: 76109
10.07.2013, aktualisiert um 22:12 Uhr
Hallo Alme123!

Hier mal in VBS von (Ansi)-Text > Bin > Hex > Dez:
01.
Const strFile = "C:\Test\Conv.txt" 
02.
 
03.
Const strText = "Herr Meier schießt mit gewählten Schüssen auf André" 
04.
 
05.
For i = 1 To Len(strText) 
06.
    iByte = CByte(Asc(Mid(strText, i, 1))) 
07.
     
08.
    strHex = Right("0" & Hex(iByte), 2) 
09.
    strDec = Right("00" & iByte, 3) 
10.
     
11.
    strBin = "" 
12.
    For b = 7 To 0 Step -1 
13.
        If iByte And 2 ^ b Then 
14.
            strBin = strBin & 1 
15.
        Else 
16.
            strBin = strBin & 0 
17.
        End If 
18.
    Next 
19.
         
20.
    strHexText = strHexText & strHex 
21.
    strDecText = strDecText & strDec 
22.
    strBinText = strBinText & strBin 
23.
Next 
24.
 
25.
With CreateObject("Scripting.FileSystemObject").CreateTextFile(strFile) 
26.
	.WriteLine "Bin 8-stellig: " & vbNewLine & strBinText & vbNewLine 
27.
	.WriteLine "Hex 2-stellig: " & vbNewLine & strHexText & vbNewLine  
28.
	.WriteLine "Dez 3-stellig: " & vbNewLine & strDecText 
29.
	.Close 
30.
End with
Gruß Dieter
Bitte warten ..
Mitglied: Alme123
11.07.2013 um 13:00 Uhr
Hallo didi1954,

dein Script funktioniert; aber nicht so, wie ich es meinte:

Es soll einen Text (ANSI) in Binär codieren. Dieser Binärcode soll dann in HEX und dieser darauf in Dec codiert werden.
Könnte man es auch machen, dass der zukonvertierende (ANSI) Text aus einer Datei eingelesen wird?

Würde auch die Entschlüsselung funktionieren, und wenn ja, wie?

Vielen Dank im Vorraus an dich und alle,

Alme123
Bitte warten ..
Mitglied: 76109
11.07.2013 um 13:26 Uhr
Hallo Alme!

dein Script funktioniert; aber nicht so, wie ich es meinte:
War ja auch nur mal ein erster Ansatz

Worin der Sinn von 'erst nach Bin, dann nach Hex und danach in Dez' liegen soll, hast Du ja nicht erklärt und mir fällt dazu auch irgendwie nix ein

Die Rückkonvertierung habe ich bewusst weggelassen, damit andere auch noch was zum spielen haben. Ist eigentlich recht Simpel und Du könntest Dir ja auch etwas Mühe geben und zumindest mal einen Ansatz versuchen...

Gruß Dieter
Bitte warten ..
Mitglied: colinardo
11.07.2013, aktualisiert um 16:49 Uhr
Hallo Alme123,
hier noch etwas mehr Input:
(In Zeile 1 noch den Pfad zur Textdatei angeben)

01.
FILEPATH = "C:\DeineTextDatei.txt" 
02.
Set objFSO = CreateObject("Scripting.FileSystemObject") 
03.
Set objText = objFSO.OpenTextFile(FILEPATH, 1) 
04.
strText = objText.ReadAll 
05.
objText.Close() 
06.
 
07.
'----------------Umwandlungen--------------------- 
08.
'String zu Binär 
09.
sBinary = StringToBinary(strText) 
10.
'String zu Hex 
11.
sHex = StringToHex(strText) 
12.
'String zu Dezimal 
13.
sDec = StringToDec(strText) 
14.
'Binär zu String 
15.
sString = BinaryToString(sBinary) 
16.
'------------------------------------------------- 
17.
'Ausgabe 
18.
MsgBox "Binärwerte des Strings: " & vbNewLine & sBinary 
19.
MsgBox "Hexwerte des Strings: " & vbNewLine & sHex 
20.
MsgBox "Dezimalwerte des Strings: " & vbNewLine & sDec 
21.
MsgBox "Umwandlung der Binärwerte zurück in den Text: " & vbNewLine & sString 
22.
'------- 
23.
 
24.
'------ Funktionen ------------ 
25.
Function StringToDec(sText) 
26.
	sDec = "" 
27.
	aByte = StringToByteArray(sText) 
28.
	For Each b In aByte 
29.
		sDec = sDec & b 
30.
	Next 
31.
	StringToDec = sDec 
32.
End Function 
33.
 
34.
Function StringToByteArray(sText) 
35.
	Dim iByte() 
36.
	For i = 1 To Len(sText) 
37.
		ReDim Preserve iByte(i) 
38.
		iByte(i-1) = CByte(Asc(Mid(sText,i,1))) 
39.
	Next 
40.
	StringToByteArray = iByte 
41.
End Function 
42.
 
43.
Function ByteArrayToString(aByte) 
44.
	sString = "" 
45.
	For i = 0 To UBound(aByte) 
46.
		sString = sString & Chr(CStr("&h" & Hex(aByte(i)))) 
47.
	Next 
48.
	ByteArrayToString = sString 
49.
End Function 
50.
 
51.
Function StringToHex(sText) 
52.
	sHex = "" 
53.
	For i = 1 To Len(sText) 
54.
		sHex = sHex & Right("0" & Hex(CByte(Asc(Mid(sText,i,1)))),2) 
55.
	Next 
56.
	StringToHex = sHex 
57.
End Function 
58.
 
59.
Function HexToString(sHex) 
60.
	sString = "" 
61.
	For i = 1 To Len(sHex) Step 2 
62.
		sString = sString & Chr(CStr("&h" & Mid(sHex,i,2))) 
63.
	Next 
64.
	HexToString = sString 
65.
End Function 
66.
 
67.
Function StringToBinary(sText) 
68.
	sBinary = "" 
69.
	For i = 1 To Len(sText) 
70.
		iByte = CByte(Asc(Mid(sText, i, 1)))  
71.
	  	For b = 7 To 0 Step -1 
72.
	  		If iByte >= 2 ^ b Then 
73.
	  			sBinary = sBinary & "1" 
74.
	  			iByte = iByte - (2 ^ b) 
75.
	  		Else 
76.
	  			sBinary = sBinary & "0" 
77.
	  		End If 
78.
	  	Next 
79.
	Next 
80.
	StringToBinary = sBinary 
81.
End Function 
82.
 
83.
Function BinaryToString(sBinary) 
84.
	sString = "" 
85.
	For i = 1 To Len(sBinary) Step 8 
86.
		sByte = Mid(sBinary,i,8) 
87.
		iByte = 0 
88.
		For b = 7 To 0 Step - 1 
89.
			If Mid(sByte,8-b,1) = 1 Then 
90.
				iByte = iByte + (2^b) 
91.
			End If 
92.
		Next 
93.
		sString = sString & Chr(CStr("&h" & Hex(iByte))) 
94.
	Next 
95.
	BinaryToString = sString 
96.
End Function 
97.
'----------------------
@76109
deine Umwandlung in Binär bringt bei mir keine korrekten Ergebnisse:

Grüße Uwe
Bitte warten ..
Mitglied: 76109
11.07.2013, aktualisiert um 16:51 Uhr
Hallo colinardo!

deine Umwandlung in Binär bringt bei mir keine korrekten Ergebnisse:
Kann ich jetzt nicht so ganz nachvollziehen, zumal bei mir beide Richtungen funktionieren?

Hier noch mal das Ganze:
01.
Const strFileBin = "C:\Test\Bin.txt" 
02.
Const strFileHex = "C:\Test\Hex.txt" 
03.
Const strFileDec = "C:\Test\Dec.txt" 
04.
 
05.
Const strInput = "Herr Meier schießt mit gewählten Schüssen auf André" 
06.
 
07.
'Text To Bin, Dez, Hex________________________________________________ 
08.
 
09.
For i = 1 To Len(strInput) 
10.
    iByte = CByte(Asc(Mid(strInput, i, 1))) 
11.
     
12.
    strHex = Right("0" & Hex(iByte), 2) 
13.
    strDec = Right("00" & iByte, 3) 
14.
     
15.
    strBin = "" 
16.
    For b = 7 To 0 Step -1 
17.
        If iByte And (2 ^ b) Then 
18.
            strBin = strBin & 1 
19.
        Else 
20.
            strBin = strBin & 0 
21.
        End If 
22.
    Next 
23.
         
24.
    strHexText = strHexText & strHex 
25.
    strDecText = strDecText & strDec 
26.
    strBinText = strBinText & strBin 
27.
Next 
28.
 
29.
With CreateObject("Scripting.FileSystemObject") 
30.
    With .CreateTextFile(strFileBin) 
31.
        .Write strBinText:  .Close 
32.
    End With 
33.
    With .CreateTextFile(strFileHex) 
34.
        .Write strHexText:  .Close 
35.
    End With 
36.
    With .CreateTextFile(strFileDec) 
37.
        .Write strDecText:  .Close 
38.
    End With 
39.
End With 
40.
 
41.
'Bin To Text__________________________________________________________ 
42.
 
43.
With CreateObject("Scripting.FileSystemObject") 
44.
    strBinText = .OpenTextFile(strFileBin).ReadAll 
45.
End With 
46.
 
47.
strText = "" 
48.
For i = 1 To Len(strBinText) Step 8 
49.
    strBin = StrReverse(Mid(strBinText, i, 8)) 
50.
     
51.
    iByte = 0 
52.
    For b = 0 To 7 
53.
        If Mid(strBin, b + 1, 1) = 1 Then 
54.
            iByte = iByte Or (2 ^ b) 
55.
        End If 
56.
    Next 
57.
         
58.
    strText = strText & Chr(iByte) 
59.
Next 
60.
MsgBox strText,,"BinToText..." 
61.
 
62.
'Dec To Text__________________________________________________________ 
63.
 
64.
With CreateObject("Scripting.FileSystemObject") 
65.
    strDecText = .OpenTextFile(strFileDec).ReadAll 
66.
End With 
67.
 
68.
strText = "" 
69.
For i = 1 To Len(strDecText) Step 3 
70.
    strText = strText & Chr(CByte(Mid(strDecText, i, 3))) 
71.
Next 
72.
MsgBox strText,,"DecToText..." 
73.
 
74.
'Hex To Text__________________________________________________________ 
75.
 
76.
With CreateObject("Scripting.FileSystemObject") 
77.
    strHexText = .OpenTextFile(strFileHex).ReadAll 
78.
End With 
79.
 
80.
strText = "" 
81.
For i = 1 To Len(strHexText) Step 2 
82.
    strText = strText & Chr(CByte("&H" & Mid(strHexText, i, 2))) 
83.
Next 
84.
MsgBox strText,,"HexToText..."
Gruß Dieter

[edit] hab mal vorsichthalber die '2 ^ b' in Klammer gesetzt [/edit]
Bitte warten ..
Mitglied: colinardo
11.07.2013, aktualisiert um 18:03 Uhr
Hallo Dieter ,weiß der Geier woran's gelegen hat, jetzt gehts auf einmal ... sorry. Hatte vorher das Problem das z.B. für ein H dies ausgegeben wurde 00101000 anstatt 01001000; das ganze also um ein Bit verschoben war.
Vielleicht ist da ein Bit im RAM gekippt
Bitte warten ..
Mitglied: 76109
11.07.2013 um 17:04 Uhr
Hallo Uwe!

Seltsam, seltsam... Konnte nämlich nix verwerfliches an der Syntax erkennen

Gruß Dieter
Bitte warten ..
Mitglied: colinardo
11.07.2013, aktualisiert um 17:31 Uhr
Probier mal b ^ 2 anstatt 2 ^ b dann kommt es zu dem Phänomen. Hatte den Code aber hier über "Quelltext" rauskopiert. Naja egal, Hauptsache Ursache entdeckt und abgehakt ...
Bitte warten ..
Mitglied: 76109
11.07.2013 um 18:00 Uhr
Hallo Uwe!

Probier mal b ^ 2 anstatt 2 ^ b dann kommt es zu dem Phänomen
Nö, hatte diesbezüglich keine Änderung vorgenommen. Das einzige, was ich gestern noch geändert hatte, war eine Korrektur von dem Wort 'Schüßen' nach 'Schüssen'

Hab's probiert, kommt bei mir knapp daneben "H=00101000" raus

Gruß Dieter
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Variable aus VBS in Batch einlesen
gelöst Frage von racer1601Batch & Shell4 Kommentare

Hallo ich habe das Problem das ich die Variable "Ordner" aus einem VBS Script nicht in meine Batch bekomme. ...

Batch & Shell
Base64 Decode (Batch,VBS)
gelöst Frage von clragonBatch & Shell26 Kommentare

Hey Leute Ich suche gerade nach einem kleinen VBS schnipsel für mein aktuelles Batch Projekt. Das Schnipsel soll in ...

Batch & Shell

VBS Script in eine Textdatei ausgeben (VBS mit Batch zusammenführen)

gelöst Frage von Luuke257Batch & Shell5 Kommentare

Hallo zusammen! Vorweg, ich bin absoluter neuling im Scripten, ich habe mir das alles nur so zusammengebastelt und versuche ...

Humor (lol)

Wer spricht Microsoftisch und kann mir das übersetzen?

Frage von StefanKittelHumor (lol)7 Kommentare

Hallo, wer kann mir das übersetzen? Erscheint beim Update auf Windows 10 1709 Stefan

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 1 TagHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 1 TagRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 2 TagenSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 2 TagenWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Router & Routing
Mikrotik: Routing zwischen Interfaces mit Geräten ohne Gateway
Frage von TonLichtVideoRouter & Routing18 Kommentare

Hallo zusammen, ich komme aus dem Veranstaltungstechnik Bereich und habe zwei Netze um verschiedene Hardware zu Remoten. CONTROL1 192.168.1.0/24 ...

Linux Netzwerk
Raspberry Pi 3: WLAN Power save deaktivieren
Frage von nordie92Linux Netzwerk14 Kommentare

Moin moin, mein Raspberry Pi 3 Model B benötigt eine dauerhaft aktive WLAN-Verbindung. Leider bricht die WLAN-Verbindung nach einigen ...

SAN, NAS, DAS
Entscheidung SAN Dell oder HP
Frage von VincorSAN, NAS, DAS13 Kommentare

Hallo, wir wollen uns für unsere Hyper V Umgebung eine neue SAN Anschaffen. Es laufen 30 VM's darunter, DC; ...

Vmware
Server 2008 r2 vmware terminalserver
Frage von MasterCVmware10 Kommentare

Guten Abend zusammen, ich hoffe , dass einer von euch mir weiterhelfen kann ,bei meinem kack Problem ! Ist ...