Имя пользователя:
Пароль:
 

Название темы: Base64 en\de_code
Показать сообщение отдельно

Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


Некоторое время назад писал для расширения кругозора пару функций:
Код: Выделить весь код
Function ReadBytes(file)
  Dim objStream : Set objStream = CreateObject("SAPI.SpFileStream")
  Dim objFSO : Set objFSO = CreateObject("Scripting.FileSystemObject")
  Dim objBuff, intLength
  
  file = objFSO.GetAbsolutePathName(file)
  intLength = objFSO.GetFile(file).Size
  
  objStream.Open file, 0
  objStream.Read objBuff, intLength
  objStream.Close
  
  ReadBytes = objBuff
End Function

Function EncodeBase64(bytes)
  Dim objXml : Set objXml = CreateObject("Microsoft.XMLDOM")
  Dim objTmp : Set objTmp = objXml.createElement("tmp")
  
  objTmp.DataType = "bin.base64"
  objTmp.NodeTypedValue = bytes
  EncodeBase64 = objTmp.Text
End Function
Пример работы:
Код: Выделить весь код
Dim objBytes

objBytes = ReadBytes("C:\src\myfile.txt")
WScript.Echo EncodeBase64(objBytes)
Декодирование осуществляется аналогично кодированию.
Пример из нынешней практики:
Код: Выделить весь код
Dim strBase64, strRegular
Dim objEncoding : Set objEncoding = CreateObject("System.Text.UnicodeEncoding")
Dim objBytes : objBytes = objEncoding.GetBytes_4("Это тестовая строка")
Dim objXml : Set objXml = CreateObject("Microsoft.XMLDOM")
Dim objTmp : Set objTmp = objXml.createElement("tmp")

' кодирование
objTmp.DataType = "bin.base64"
objTmp.NodeTypedValue = objBytes
strBase64 = objTmp.Text
WScript.Echo strBase64

' декодирование
objTmp.Text = strBase64
strRegular = objTmp.NodeTypedValue
WScript.Echo strRegular
Iska, а Google - это не по-кодокапательски.
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:02, 11-01-2016 | #4

Название темы: Base64 en\de_code