Este artigo fornece um código muito útil, que pode ser transferido no ASP. Estes incluem UTF8 GB2312 Código Decimal Binário Hexadecimal.
'UTF para GB --- Converter UTF8 codificando texto em texto de codificação GB
Função utf2gb (utfstr) para dig = 1 a len (utfstr)
'Se o texto da codificação UTF8 começar com%, ele será convertido
Se MID (UTFSTR, DIG, 1) =% então
'O texto de codificação UTF8 é maior que 8, depois convertido em caracteres chineses
Se Len (utfstr)> = Dig+8 então
GBSTR = GBSTR & CONVCHINESSE (MID (UTFSTR, DIG, 9))
Escav = escava+8
outro
GBSTR = GBSTR & MID (UTFSTR, DIG, 1)
final se
outro
GBSTR = GBSTR & MID (UTFSTR, DIG, 1)
final se
próximo
Utf2gb = gbStr
Função final
'O texto de codificação UTF8 será convertido em caracteres chineses
Função convchinês (x)
A = divisão (MID (x, 2),%)
i = 0
j = 0
para i = 0 para ubound (a)
A (i) = c16to2 (a (i))
próximo
para i = 0 a ubound (a) -1
Digs = Instr (a (i), 0)
Unicode =
para j = 1 para escavações-1
Se J = 1 então
A (i) = direita (a (i), len (a (i)) -digs)
Unicode = unicode & a (i)
outro
I = i+1
A (i) = certo (a (i), len (a (i))-2)
Unicode = unicode & a (i)
final se
próximo
Se Len (C2to16 (unicode)) = 4 que
Convchinese = Convchinese & Chrw (int (& h & c2to16 (unicode))
outro
Convchinese = Convchinese & Ch (int (& h & c2to16 (unicode))
final se
próximo
Função final
'Código binário se converte ao código hexadecimal
Uncção C2to16 (x)
i = 1
para i = 1 a len (x) Etapa 4
C2TO16 = C2TO16 & Hex (C2TO10 (MID (X, i, 4)))
próximo
Função final
'Código binário se converte em código decimal
Função c2to10 (x)
C2to10 = 0
Se x = 0 então a função de saída
i = 0
para i = 0 a len (x) -1
Se mid (x, len (x) -i, 1) = 1 então c2to10 = c2to10+2^(i)
próximo
Função final
'O código das escrituras é convertido em código binário
Função c16to2 (x)
i = 0
para i = 1 a Len (Trim (x))
tempstr = c10to2 (cint (int (& h & mid (x, i, 1)))
Faça enquanto Len (tempstr) <4
Tempstr = 0 & tempstr
laço
C16to2 = c16to2 e tempstr
próximo
Função final
'Código superior convertido em código binário
Função C10to2 (x)
mysign = sgn (x)
x = abs (x)
Escavações = 1
FAZER
Se x <2^cavar então
saída do
outro
Escavações = escavações+1
final se
laço
tempnum = x
i = 0
para i = escavações para 1 etapa-1
se tempnum> = 2^(i-1) então
tempnum = tempnum-2^(i-1)
C10to2 = c10to2 e 1
outro
C10to2 = c10to2 e 0
final se
próximo
Se mysign = -1 então c10to2 = -& c10to2
Função final
'GB para UTF8-CONVERT GB Encoding Texto para UTF8 Texto
Função toutf8 (szinput)
Dim WCH, UCH, Szret
Dim x
Dim NASC, NASC2, NASC3
'Se o parâmetro de entrada estiver vazio, a função de saída
Se szinput = então
Toutf8 = szinput
Função de saída
Final se
'Inicie a conversão
Para x = 1 a len (szinput)
'Use a função média para dividir o texto de codificação de GB
WCH = MID (szinput, x, 1)
'Use a função ASCW para retornar o código do caractere unicode de cada texto codificado GB
'Nota: a função ASC retorna um código de caractere ANSI, preste atenção à diferença
NASC = ASCW (WCH)
Se NASC <0 então NASC = NASC + 65536
If (NASC e & hff80) = 0 então
szret = szret & wch
Outro
If (NASC e & hf000) = 0 então
UCH = % & Hex ((NASC / 2 ^ 6)) ou & HC0 & Hex (NASC e & H3F ou & H80)
szret = szret & uch
Outro
'GB codificando texto Unicode Código de caracteres é usado entre 0800 -FFFF
UCH = % & Hex ((NASC / 2 ^ 12) ou & He0) & % & _
Hex ((NASC / 2 ^ 6) e & h3f ou & h80) & % & _
Hex (NASC e & H3F ou & H80)
szret = szret & uch
Final se
Final se
Próximo
Toutf8 = szret
Função final
'GB para unicode --- Converter GB codificando texto para unicode codificar texto
Função chinesa2unicode (str)
dim i
dim str_one
dim str_unicode
se (isnull (str)) então
função de saída
final se
para i = 1 a len (str)
Str_one = mid (str, i, 1)
Str_unicode = str_unicode & ch (38)
Str_unicode = str_unicode & ch (35)
Str_unicode = str_unicode & chr (120)
Str_unicode = str_unicode & hex (ASCW (str_one))
Str_unicode = str_unicode & ch (59)
próximo
chinês2Unicode = str_unicode
Função final
'Decodificação de URL
Função urldecode (enstr)
Dim Dest
dim C, i, v
Destro =
para i = 1 a len (enstr)
C = MID (ENSTR, I, 1)
Se c =% então
V = EVALL (& H+MID (ENSTR, I+1,2))
Se v <128 então
Dest = destro & Chr (V)
I = i+2
outro
Se Isvalidhex (Mid (Enstr, i, 3)) então
Se Isvalidhex (Mid (Enstr, I+3, 3)) então
V = EVALL (& H+MID (ENSTR, I+1,2)+MID (ENSTR, I+4,2))
Dest = destro & Chr (V)
I = i+5
outro
V = EVALL (& H+MID (ENSTR, I+1,2)+CSTR (HEX (ASC (MID (ENSTR, I+3, 1))))))
Dest = destro & Chr (V)
I = i+3
final se
outro
Desto = destro & c
final se
final se
outro
Se c =+ então
Desto = destro &
outro
Desto = destro & c
final se
final se
próximo
Urldecode = destro
Função final
'Determine se é um código hexadecimal eficaz
Função isvalidhex (str)
dim c
Isvalidhex = true
str = ucase (str)
Se Len (str) <> 3 que IsValidhex = Falso: Função de Saída
se deixado (str, 1) <>% então isvalidhex = false: função de saída
C = MID (STR, 2,1)
se não ((((((((((((((((((((((((((((((((((((((((((((((((((((((c <(c> = 0) e ((c < = 9)) ou ((c> = a) e (c <= z))) então isvalidhex = false: função de saída
C = MID (STR, 3,1)
se não ((((((((((((((((((((((((((((((((((((((((((((((((((((((c <(c> = 0) e ((c < = 9)) ou ((c> = a) e (c <= z))) então isvalidhex = false: função de saída
Função final