Created
May 5, 2016 14:49
-
-
Save gsbelarus/4202213324f0504868152d32853de8c6 to your computer and use it in GitHub Desktop.
Перекодировка WIN1251 в UTF-8 и замена служебных символов разметки XML
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
' перекодировка кириллицы в юникод | |
public function Win1251_ToUTF8(ByVal S) | |
dim Res, i, AscCode, Symb, b1, b2, utfc | |
Res = "" | |
for I = 1 to Len(S) | |
Symb = Mid(S, I, 1) | |
AscCode = Asc(Symb) | |
' кириллица кроме ё и Ё | |
if (AscCode >= 192) and (AscCode <= 255) then | |
Res = Res & "�" & Hex(AscCode + &H410 - 192) & ";" | |
' ё | |
elseif AscCode = 184 then | |
Res = Res & "ё" | |
' Ё | |
elseif AscCode = 168 then | |
Res = Res & "Ё" | |
' № | |
elseif AscCode = 185 then | |
Res = Res & "№" | |
' ' | |
elseif AscCode = 39 then | |
Res = Res & "'" | |
' " | |
elseif AscCode = 34 then | |
Res = Res & """ | |
' < | |
elseif AscCode = 60 then | |
Res = Res & "<" | |
' > | |
elseif AscCode = 62 then | |
Res = Res & ">" | |
' & | |
elseif AscCode = 38 then | |
Res = Res & "&" | |
' « | |
elseif AscCode = 171 then | |
Res = Res & "«"'"«" | |
' » | |
elseif AscCode = 187 then | |
Res = Res & "»"'"»" | |
else | |
Res = Res & Symb | |
end if | |
next | |
Win1251_ToUTF8 = Res | |
end function |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment