powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Декодирование base64
3 сообщений из 3, страница 1 из 1
Декодирование base64
    #35527690
Softinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребята. Подскажите как решить проблему. У меня есть vbs скрипт, который декодирует большой массив данных из base64. Все бы хорошо.. НО декодирование происходит очень медленно. Алгоритм выполнения такой:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
Function fDecode(sStringToDecode)
Const CharList = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
Dim iDataLength, sOutputString, iGroupInitialCharacter
sStringToDecode = Replace(Replace(Replace(sStringToDecode, vbCrLf, ""), vbTab, ""), " ", "")
iDataLength = Len(sStringToDecode)
 If iDataLength Mod  4  <>  0  Then
  fDecode = "Bad string passed to fDecode() function."
  Exit Function
 End If
 For iGroupInitialCharacter =  1  To iDataLength Step  4 
  Dim iDataByteCount, iCharacterCounter, sCharacter, iData, iGroup, sPreliminaryOutString
  iDataByteCount =  3 
  iGroup =  0 
   For iCharacterCounter =  0  To  3 
    sCharacter = Mid(sStringToDecode, iGroupInitialCharacter + iCharacterCounter,  1 )
     If sCharacter = "=" Then
      iDataByteCount = iDataByteCount -  1 
      iData =  0 
     Else
      iData = InStr( 1 , CharList, sCharacter,  0 ) -  1 
       If iData = - 1  Then
        fDecode = "Bad string passed to fDecode() function."
        Exit Function
       End If
     End If
    iGroup =  64  * iGroup + iData
   Next
  iGroup = Hex(iGroup)
  iGroup = String( 6  - Len(iGroup), "0") & iGroup
  sPreliminaryOutString = Chr(CByte("&H" & Mid(iGroup,  1 ,  2 ))) & Chr(CByte("&H" & Mid(iGroup,  3 ,  2 ))) & Chr(CByte("&H" & Mid(iGroup,  5 ,  2 )))
  sOutputString = sOutputString & Left(sPreliminaryOutString, iDataByteCount)
 Next
fDecode = sOutputString
End Function
Подскажите, можно ли исправить ситуацию, работая именно на VBS, при этом без использования каких-либо дополнительных библиотек?
Всем благодарна за ответы )))
...
Рейтинг: 0 / 0
Декодирование base64
    #35527700
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нельзя.
...
Рейтинг: 0 / 0
Декодирование base64
    #35527704
Softinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо ))) значит, можно больше не мучиться )))))))
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Декодирование base64
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]