Тема: VBScript: кодирование по алгоритму base64
Кодирование base64 — это схема, по которой произвольная последовательность байтов преобразуется в последовательность печатаемых ASCII символов. Как правило, используются символы латинского алфавита в верхнем и нижнем регистре (A—Z, a—z), цифры (0—9), символы «+» и «/» и символ «=» в качестве специального суффикса. В некоторых реализациях base64 вместо символов «+», «/» и «=» используются другие символы. Base64 не является шифрованием и используется, в основном, для удобства транспортировки и хранения данных. Результирующие данные имеют длину, большую оригинальной в соотношении 4:3.
Пример ниже копирует существующий файл "C:\Temp\test.jpg", создавая файл "C:\Temp\test2.jpg". Исходный файл считывается и преобразуется в строку base64, затем полученная строка base64 преобразуется обратно в массив байтов и записывается на диск в виде файла. Используются объекты MSXml2.DOMDocument и ADODB.Stream.
Set objStream = CreateObject("ADODB.Stream")
objStream.Type = 1 ' TypeBinary
objStream.Open()
objStream.LoadFromFile("C:\Temp\test.jpg")
readBytes = objStream.Read()
Set objXML = CreateObject("MSXml2.DOMDocument")
objXML.loadXML "<Base64Data />"
Set objDocElem = objXML.documentElement
objDocElem.dataType = "bin.base64"
objDocElem.nodeTypedValue = readBytes
textBase64 = objDocElem.text
WScript.Echo textBase64
Set objXML = CreateObject("MSXml2.DOMDocument")
Set objDocElem = objXML.createElement("tmp")
objDocElem.DataType = "bin.base64"
objDocElem.text = textBase64
writeBytes = objDocElem.NodeTypedValue
Set objStream = CreateObject("ADODB.Stream")
objStream.Type = 1 ' TypeBinary
objStream.Open()
objStream.Write writeBytes
objStream.SaveToFile "C:\Temp\test2.jpg", 2
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.