например как из строки %EE%CF%D7%C1%D1%20%D0%C1%D0%CB%C1
получить строку "Новая папка"
может какиенить спец-функции есть
или если вручную, то как переделать "EE"->0xEE->"H"
lpn_com писал(а):ты наверно подумал что скипт выполняеться где нибудь на серваке
lpn_com писал(а):нет, скрипт пишется в файле vbs и просто открываеться на компе пользователя (пользователь эт я=)
на входе из буфера обмена извлекаеться ссылка, переделываеться, чтото вырезается чтото подставляется и в буфер обмена ложится новая ссылка
lpn_com писал(а):тут я уже начал думать как вручную все переделать
из строки %EE делаю строчку "&hEE"
потом chr(CInt("&hEE"))
все вроде работает, но используеться какаято другая таблица символов, только %20 правильно переделываеться
lpn_com писал(а):не могу найти что за кодировка используеться
нигде EE не соответствует букве H
Dim TempAns
Dim CurChr
TempAns=""
CurChr = 1
Do Until CurChr - 1 = Len(Str)
Select Case Mid(Str, CurChr, 1)
Case "+"
TempAns = TempAns & " "
Case "%"
TempAns = TempAns & Chr( CInt ("&h" & Mid(Str, CurChr + 1, 2)))
CurChr = CurChr + 2
Case Else
TempAns = TempAns & Mid(Str, CurChr, 1)
End Select
CurChr = CurChr + 1
Loop
Str = TempAns
lpn_com писал(а):и делает из нее оПЧБС РБРЛБ
Dim TempAns,CurChr,KOI8U,WIN
KOI8U="%E1%E2%F7%E7%E4%E5%F6%FA%E9%EA%EB%EC%ED%EE%EF%F0%F2%F3%F4_
%F5%E6%E8%E3%FE%FB%FD%FF%F9%F8%FC%E0%F1%C1%C2%D7%C7%C4_
%C5%D6%DA%C9%CA%CB%CC%CD%CE%CF%D0%D2%D3%D4%D5%C6%C8%C3%DE_
%DB%DD%DF%D9%D8%DC%C0%D1%A4%B4%A6%B6%A7%B7%AD%BD%C0%C1%C2%C3%C4%C5%C6%C7%C8_
%C9%CA%CB%CC%CD%CE%CF%D0%D1%D2%D3%D4%D5%D6%D7%D8%D9%DA%DB%DC%DD%DE%DF%E0%E1_
%E2%E3%E4%E5%E6%E7%E8%E9%EA%EB%EC%ED_
%EE%EF%F0%F1%F2%F3%F4%F5%F6%F7%F8%F9%FA%FB%FC%FD%FE%FF%BA%AA%B3%B2%BF%AF%B4%A5"
WIN= "%C0%C1%C2%C3%C4%C5%C6%C7%C8%C9%CA%CB%CC%CD%CE%CF%D0%D1%D2%D3%D4%D5%D6%D7%D8_
%D9%DA%DB%DC%DD%DE%DF%E0%E1%E2%E3_
%E4%E5%E6%E7%E8%E9%EA%EB%EC%ED%EE%EF%F0%F1%F2%F3%F4%F5%F6%F7%F8%F9%FA%FB%FC%FD%FE%FF_
%BA%AA%B3%B2%BF%AF%B4%A5%E1%E2%F7%E7%E4%E5%F6%FA%E9%EA%EB%EC_
%ED%EE%EF%F0%F2%F3%F4%F5%E6%E8%E3%FE%FB%FD%FF%F9%F8%FC%E0%F1%C1%C2%D7%C7%C4%C5%D6%DA_
%C9%CA%CB%CC%CD%CE%CF%D0%D2%D3_
%D4%D5%C6%C8%C3%DE%DB%DD%DF%D9%D8%DC%C0%D1%A4%B4%A6%B6%A7%B7%AD%BD"
TempAns=""
CurChr = 1
Do Until CurChr - 1 = Len(Str)
Select Case Mid(Str, CurChr, 1)
Case "+"
TempAns = TempAns & " "
Case "%"
Pos=InStr(1,KOI8U,Mid(Str,CurChr,3),vbBinaryCompare)
If Pos>0 Then
TempAns = TempAns & Chr( CInt ("&h" & Mid(WIN, Pos + 1, 2)))
Else
TempAns = TempAns & Chr( CInt ("&h" & Mid(Str, CurChr + 1, 2)))
End If
CurChr = CurChr + 2
Case Else
TempAns = TempAns & Mid(Str, CurChr, 1)
End Select
CurChr = CurChr + 1
Loop
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1