Пользовательская функция на VBA, которая преобразовывает Unicode (русский текст) в URLencode Function RussianStringToURLEncode(ByVal txt As String) As String For i = 1 To Len(txt) l = Mid(txt, i, 1) Select Case AscW(l) Case Is > 256: t = "%" & Hex(AscW(l) \ 64 + 192) & "%" & Hex(8 * 16 + AscW(l) Mod 64) Case 32: t = "+" Case Else: t = l End Select RussianStringToURLEncode = RussianStringToURLEncode & t Next End Function И что-то типа обратного преобразования - URLdecode: Function URLencodeToString(ByVal StringToDecode As String) As String StringToDecode = Replace(StringToDecode, "%20", "") Dim TempAns As String, CurChr As Long CurChr = 1 Do Until CurChr - 1 >= Len(StringToDecode) Select Case Mid(StringToDecode, CurChr, 1) Case "+" TempAns = TempAns & " " Case "%" v1 = Val("&H" & Mid(StringToDecode, CurChr + 1, 2)) v2 = Val("&H" & Mid(StringToDecode, CurChr + 4, 2)) TempAns = TempAns & ChrW((v1 - 194) * 64 + v2) CurChr = CurChr + 5 Case Else TempAns = TempAns & Mid(StringToDecode, CurChr, 1) End Select CurChr = CurChr + 1 Loop URLencodeToString = TempAns End Function
|
|||

Комментарии
Отправить комментарий