Cet article vous donne un code très utile, qui peut être transféré dans ASP. Il s'agit notamment de UTF8 GB2312 Binary Decimal Code HexaDecimal.
'UTF à GB --- Convertir UTF8 Encoding Text en GB Encoding Text
Fonction utf2gb (utfstr) pour Dig = 1 à Len (UTFSTR)
`` Si le texte de codage UTF8 commence par%, il sera converti
Si mid (utfstr, dig, 1) =% alors
`` Le texte de codage UTF8 est supérieur à 8, puis converti en caractères chinois
Si Len (utfstr)> = DIG + 8 alors
Gbstr = gbstr & convchinese (mid (utfstr, dig, 9))
DIG = DIG + 8
autre
Gbstr = gbstr & mid (utfstr, dig, 1)
terminer si
autre
Gbstr = gbstr & mid (utfstr, dig, 1)
terminer si
suivant
UTF2GB = GBSTR
fonction finale
`` Le texte de codage UTF8 sera converti en caractères chinois
Fonction convchinese (x)
A = divisé (mid (x, 2),%)
i = 0
j = 0
pour i = 0 à ubound (a)
A (i) = c16to2 (a (i))
suivant
pour i = 0 à ubound (a) -1
DIGS = instant (a (i), 0)
Unicode =
pour j = 1 à creuser-1
Si j = 1 alors
A (i) = droit (a (i), len (a (i)) -digs)
Unicode = Unicode et A (I)
autre
I = i + 1
A (i) = à droite (a (i), len (a (i)) - 2)
Unicode = Unicode et A (I)
terminer si
suivant
Si Len (C2TO16 (Unicode)) = 4
Convchinese = Convchinese & chrw (int (& h & c2to16 (Unicode))
autre
Convchinese = Convchinese & Chr (int (& h & c2to16 (Unicode))
terminer si
suivant
fonction finale
'Code binaire converti en code hexadécimal
Unction C2to16 (x)
i = 1
pour i = 1 à len (x) Étape 4
C2TO16 = C2TO16 & HEX (C2TO10 (MID (X, I, 4)))
suivant
fonction finale
«Le code binaire se convertit en code décimal
Fonction C2TO10 (x)
C2to10 = 0
Si x = 0 alors la fonction de sortie
i = 0
pour i = 0 à len (x) -1
Si mid (x, len (x) -i, 1) = 1 alors c2to10 = c2to10 + 2 ^ (i)
suivant
fonction finale
'Le code des Écritures est converti en code binaire
Fonction C16TO2 (x)
i = 0
pour i = 1 à Len (Trim (x))
TEMPSTR = C10TO2 (CINT (int (& h & mid (x, i, 1)))
Faire pendant que Len (temptr) <4
Temptr = 0 & Temptr
boucle
C16TO2 = C16TO2 & TEMPTR
suivant
fonction finale
'Top Code Converti en code binaire
Fonction C10TO2 (x)
mySign = sgn (x)
x = abs (x)
Fouilles = 1
FAIRE
Si x <2 ^ creuse alors
sortir faire
autre
Fouilles = creuse + 1
terminer si
boucle
tempnum = x
i = 0
pour i = creuse à 1 étape 1
Si tempnum> = 2 ^ (i-1) alors
tempnum = tempnum-2 ^ (i-1)
C10TO2 = C10TO2 & 1
autre
C10TO2 = C10TO2 & 0
terminer si
suivant
Si mySign = -1 alors C10TO2 = - & C10TO2
fonction finale
'GB à UTF8-Convert GB Encoding Text en UTF8 Encoding Text
Fonction toutf8 (szinput)
Dim wch, uch, szret
Dim x
DIM NASC, NASC2, NASC3
'Si le paramètre d'entrée est vide, la fonction de sortie
Si szinput = alors
Toutf8 = szinput
Fonction de sortie
Terminer si
'Commencer la conversion
Pour x = 1 à Len (szinput)
'Utilisez la fonction médiane pour diviser le texte de codage GB
Wch = mid (szinput, x, 1)
'Utilisez la fonction ASCW pour renvoyer le code de caractères Unicode de chaque texte codé GB
«Remarque: la fonction ASC renvoie un code de caractère ANSI, faites attention à la différence
NASC = ASCW (WCH)
Si nasc <0 alors nasc = nasc + 65536
If (nasc et & hff80) = 0 alors
szret = szret & wch
Autre
If (nasc et & hf000) = 0 alors
uch =% & hex ((nasc / 2 ^ 6)) ou & hc0 & hex (nasc et & h3f ou & h80)
szret = szret & uch
Autre
'GB Encoding Text Unicode Le code de caractères est utilisé entre 0800 -ffff
uch =% & hex ((nasc / 2 ^ 12) ou & he0) &% & _
Hex ((nasc / 2 ^ 6) et & h3f ou & h80) &% & _
Hex (NASC et & H3F ou & H80)
szret = szret & uch
Terminer si
Terminer si
Suivant
Toutf8 = szret
Fonction finale
'Gb vers Unicode --- Convertir le GB Encoding Text en Unicode Encoding Text
Fonction chinois2Unicode (str)
dim je
Dim str_one
Dim str_unicode
si (isNull (str)) alors
fonction de sortie
terminer si
pour i = 1 à Len (str)
Str_one = mid (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
chinois2unicode = str_unicode
fonction finale
'URL Decoding
Fonction urldecode (ENSTR)
Dim destr
dim c, i, v
Destr =
pour i = 1 à Len (Entr)
C = mid (Entr, i, 1)
Si c =% alors
v = eval (& h + mid (Entr, i + 1,2))
Si v <128 alors
Destr = destr & chr (v)
I = i + 2
autre
Si Isvalidhex (Mid (Entr, I, 3)) alors
Si isvalidhex (mid (Entr, i + 3, 3)) alors
V = evale
Destr = destr & chr (v)
I = i + 5
autre
v = eval (& h + mid (Entr, i + 1,2) + cstr (hex (asc (mid (Entr, i + 3, 1))))))
Destr = destr & chr (v)
I = i + 3
terminer si
autre
Destr = destr & c
terminer si
terminer si
autre
Si c = + alors
Destr = destr &
autre
Destr = destr & c
terminer si
terminer si
suivant
UrldeCode = destr
fonction finale
«Déterminez s'il s'agit d'un code hexadécimal efficace
Fonction isvalidhex (str)
cale c
IsValidhex = true
str = ucase (str)
Si Len (str) <> 3 qui isValidhex = false: fonction de sortie
Si vous êtes laissé (str, 1) <>% alors isvalidhex = false: fonction de sortie
C = mid (str, 2,1)
Sinon (((((((((((((((((((((((((((((c <c> = 0) et ((c < = 9)) ou ((c> = a) et (c <= z))) puis isvalidhex = false: fonction de sortie
C = mid (str, 3,1)
Sinon (((((((((((((((((((((((((((((c <c> = 0) et ((c < = 9)) ou ((c> = a) et (c <= z))) puis isvalidhex = false: fonction de sortie
fonction finale