-> Hier kostenlos registrieren
Hallo,
ich suche eine Funktion, mit welcher ich eine Datei in einen Base64-String wandeln kann. Das selbe dann natürlich auch wieder zurück.
Für WinCC Runtime habe ich bereits eine Funktion gefunden (siehe Code), aber für die Siemens-Panels mit Windows CE finde ich nichts passendes.
Hat von euch jemand einen Link oder gar ein fertiges Script, was mir weiter helfen könnte?
Und wieder zurück in eine Datei:
ich suche eine Funktion, mit welcher ich eine Datei in einen Base64-String wandeln kann. Das selbe dann natürlich auch wieder zurück.
Für WinCC Runtime habe ich bereits eine Funktion gefunden (siehe Code), aber für die Siemens-Panels mit Windows CE finde ich nichts passendes.
Hat von euch jemand einen Link oder gar ein fertiges Script, was mir weiter helfen könnte?
Code:
Function VBS_File_Base64(ByVal sDatei)
If SmartTags("x_OS_Win10") Then 'Windows 10
Dim InStream, Output
Dim oXML, oNode
Dim ReadBytes, Base64Encode
Set InStream = CreateObject("ADODB.Stream")
InStream.Open
InStream.type = 1 'TypeBinary
InStream.LoadFromFile(sDatei)
ReadBytes = InStream.Read()
Set oXML = CreateObject("MSXML2.DOMDocument")
Set oNode = oXML.CreateElement("Base64")
oNode.dataType = "Bin.Base64"
oNode.nodeTypedValue = ReadBytes
Base64Encode = oNode.text
'String zurückgeben
VBS_File_Base64 = Base64Encode
Else 'Windows CE
End If
End Function
Und wieder zurück in eine Datei:
Code:
Function VBS_Base64_File(ByVal sBase64, ByVal s_Datei)
Dim FSO, FS, Input
Dim oXML, oNode
Dim BinaryStream
If SmartTags("x_OS_Win10") Then 'Windows 10
Set FSO = CreateObject("Scripting.FileSystemObject")
'Datei löschen
If FSO.FileExists (s_Datei) Then
FSO.DeleteFile (s_Datei)
End If
Else 'Windows CE
Set FS = CreateObject("FileCtl.FileSystem")
'Datei löschen
If FS.Dir(s_Datei) <> "" Then
FS.Kill s_Datei
End If
End If
'String nicht leer
If sBase64 <> "" Then
If SmartTags("x_OS_Win10") Then 'Windows 10
Set oXML = CreateObject("MSXML2.DOMDocument")
Else 'Windows CE
Set oXML = CreateObject("MSXML2.DOMDocument")
End If
Set oNode = oXML.CreateElement("Base64")
oNode.dataType = "Bin.Base64"
oNode.text = sBase64
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = 1 'adTypeBinary
BinaryStream.Open
BinaryStream.Write oNode.nodeTypedValue
BinaryStream.SaveToFile s_Datei
'Rückgabewert
VBS_Base64_File = True
Else
'Rückgabewert
VBS_Base64_File = False
End If
End Function