UTF-8
Chinese2unicode(Str)
je suis faible
faible Str_one
faible Str_unicode
pour i=1 à len(Str)
Str_one=Milieu(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)
suivant
Réponse.Write Str_unicode
fonction de fin
UTF-8 vers GB2312
UTF2GB(UTFStr)
pour Dig=1 à len(UTFStr)
si mid(UTFStr,Dig,1)="%" alors
si len(UTFStr) >= Dig+8 alors
GBStr=GBStr & ConvChinese(mid(UTFStr,Dig,9))
Creuser=Creuser+8
autre
GBStr=GBStr & mi(UTFStr,Dig,1)
finir si
autre
GBStr=GBStr & mi(UTFStr,Dig,1)
finir si
suivant
UTF2GB=GBStr
fonction de fin
fonction ConvChinese(x)
A=divisé(milieu(x,2),"%")
je = 0
j=0
pour i=0 à ubound(A)
UNE(je)=c16à2(UNE(je))
suivant
pour i=0 à ubound(A)-1
DigS=instr(A(i),"0")
Unicode=""
pour j=1 à DigS-1
si j=1 alors
A(i)=droite(A(i),len(A(i))-DigS)
Unicode=Unicode & A(i)
autre
je=je+1
A(i)=droite(A(i),len(A(i))-2)
Unicode=Unicode & A(i)
finir si
suivant
si len(c2to16(Unicode))=4 alors
ConvChinese=ConvChinese & chrw(int("&H" & c2to16(Unicode)))
autre
ConvChinese=ConvChinese & chr(int("&H" & c2to16(Unicode)))
finir si
suivant
fonction de fin
fonction c2to16(x)
je = 1
pour i=1 à len(x) étape 4
c2to16=c2to16 & hex(c2to10(mid(x,i,4)))
suivant
fonction de fin
fonction c2to10(x)
c2à10=0
si x="0" alors quittez la fonction
je = 0
pour i= 0 à len(x) -1
si mid(x,len(x)-i,1)="1" alors c2to10=c2to10+2^(i)
suivant
fonction de fin
fonction c16to2(x)
je = 0
pour i=1 à len(trim(x))
tempstr= c10to2(cint(int("&h" & mid(x,i,1))))
faire pendant len(tempstr)<4
tempstr="0" & tempstr
boucle
c16to2=c16to2 & tempstr
suivant
fonction de fin
fonction c10to2(x)
monsign=sgn(x)
x=abdos(x)
DigS=1
faire
si x<2^DigS alors
sortir faire
autre
Creuser=Creuser+1
finir si
boucle
numéro temp=x
je = 0
pour i=DigS à 1 étape-1
si tempnum>=2^(i-1) alors
tempnum=tempnum-2^(i-1)
c10to2=c10to2 & "1"
autre
c10to2=c10to2 & "0"
finir si
suivant
si monsign=-1 alors c10to2="-" & c10to2
fonction de fin