汉字转换为
Функция UTF-8 chinese2unicode(Str)
тусклый я
тусклый Str_one
тусклый Str_unicode
для i=1 до len(Str)
Str_one=Средний(Str,i,1)
Str_unicode=Str_unicode&chr(38)
Str_unicode=Str_unicode&chr(35)
Str_unicode=Str_unicode&chr(120)
Str_unicode=Str_unicode& Hex(ascw(Str_one))
Str_unicode=Str_unicode&chr(59)
следующий
Response.Write Str_unicode
конечная функция
UTF-8 в GB2312
UTF2GB(UTFStr)
от Dig=1 до len(UTFStr)
если мид(UTFStr,Dig,1)="%" то
если len(UTFStr) >= Dig+8, то
GBStr=GBStr & ConvChinese(mid(UTFStr,Dig,9))
Копать=Копать+8
еще
GBStr=GBStr & Mid(UTFStr,Dig,1)
конец, если
еще
GBStr=GBStr & Mid(UTFStr,Dig,1)
конец, если
следующий
UTF2GB=GBStr
конечная функция
функция ConvChinese(x)
A=split(середина(x,2),"%")
я = 0
j=0
для i=0 до ubound(A)
А(я)=c16to2(А(я))
следующий
для i=0 до ubound(A)-1
DigS=instr(A(i),"0")
Юникод=""
для j=1 до DigS-1
если j=1 тогда
A(i)=right(A(i),len(A(i))-DigS)
Юникод=Юникод и А(я)
еще
я=я+1
А(я)=право(А(я),len(А(я))-2)
Юникод=Юникод и А(я)
конец, если
следующий
если len(c2to16(Unicode))=4, то
ConvChinese=ConvChinese & chrw(int("&H" & c2to16(Unicode)))
еще
ConvChinese=ConvChinese & chr(int("&H" & c2to16(Unicode)))
конец, если
следующий
конечная функция
функция c2to16(x)
я = 1
для i=1 до len(x) шаг 4
c2to16=c2to16 & hex(c2to10(mid(x,i,4)))
следующий
конечная функция
функция c2to10(x)
c2to10=0
если x="0", то выходим из функции
я = 0
для i = 0 до len(x) -1
если Mid(x,len(x)-i,1)="1" то c2to10=c2to10+2^(i)
следующий
конечная функция
функция c16to2(x)
я = 0
от i=1 до len(trim(x))
tempstr= c10to2(cint(int("&h" & Mid(x,i,1))))
делать, пока len(tempstr)<4
темпстр="0" и темпстр
петля
c16to2=c16to2 и темпстр
следующий
конечная функция
функция c10to2(x)
mysign=sgn(x)
х=абс(х)
ДигС=1
делать
если x<2^DigS, то
выход, сделай
еще
ДигС=ДигС+1
конец, если
петля
темпномер=х
я = 0
для i=DigS до 1 шаг-1
если tempnum>=2^(i-1), то
темпнум=темпномер-2^(я-1)
c10to2=c10to2 & "1"
еще
c10to2=c10to2 & «0»
конец, если
следующий
если mysign=-1, то c10to2="-" и c10to2
конечная функция