Эта статья дает вам очень полезный код, который может быть передан в ASP. К ним относятся UTF8 GB2312 Бинарный десятичный кодекс шестнадцатеричный код.
'UTF в GB --- преобразовать текст кодирования UTF8 в текст кодирования GB
Функция UTF2GB (UTFSTR) для DIG = 1 TO LEN (UTFSTR)
'Если текст кодирования UTF8 начнется с%, он будет преобразован
Если середина (utfstr, dig, 1) =%, тогда
'UTF8, кодирующий текст, больше 8, а затем преобразован в китайские иероглифы
Если len (utfstr)> = Dig+8, то тогда
GBSTR = GBSTR & CROVCHINESE (MID (UTFSTR, DIG, 9))
Dig = Dig+8
еще
GBSTR = GBSTR & MID (UTFSTR, DIG, 1)
конец, если
еще
GBSTR = GBSTR & MID (UTFSTR, DIG, 1)
конец, если
следующий
UTF2GB = GBSTR
конечная функция
'Text Concoding UTF8 будет преобразован в китайские иероглифы
Функция Convchinese (x)
A = Split (Mid (x, 2),%)
i = 0
j = 0
для i = 0 до ubound (a)
A (i) = c16to2 (a (i))
следующий
для i = 0 до ubound (a) -1
Digs = instr (a (i), 0)
Unicode =
для j = 1 до раскопок-1
Если j = 1, то тогда
A (i) = справа (a (i), len (a (i)) -digs)
Unicode = Unicode & A (i)
еще
I = i+1
A (i) = right (a (i), len (a (i))-2)
Unicode = Unicode & A (i)
конец, если
следующий
Если len (c2to16 (unicode)) = 4, что
Convchinese = convchinese & chrw (int (& h & c2to16 (Unicode))
еще
Convchinese = convchinese & chr (int (& h & c2to16 (Unicode))
конец, если
следующий
конечная функция
'Бинарный код конвертируется в шестнадцатеричный код
Unction c2to16 (x)
i = 1
для i = 1 до Len (x) Шаг 4
C2TO16 = C2TO16 & HEX (C2TO10 (MID (X, I, 4)))))
следующий
конечная функция
«Бинарный код преобразуется в десятичный код
Функция C2TO10 (x)
C2TO10 = 0
Если x = 0, то функция выхода
i = 0
для i = 0 до len (x) -1
Если середина (x, len (x) -i, 1) = 1, то c2to10 = c2to10+2^(i)
следующий
конечная функция
Код Писания преобразуется в двоичный код
Функция C16TO2 (x)
i = 0
для i = 1 к Len (Trim (x))
tempstr = c10to2 (cint (int (& h & mid (x, i, 1)))))
Делать, пока Лен (темпстр) <4
Tempstr = 0 & tempstr
петля
C16to2 = c16to2 & tempstr
следующий
конечная функция
'Top Code конвертируется в двоичный код
Функция C10TO2 (x)
mysign = sgn (x)
x = ABS (x)
Раскопки = 1
ДЕЛАТЬ
Если x <2^раскопает, тогда
Выход DO
еще
Digs = Digs+1
конец, если
петля
Tempnum = x
i = 0
для i = раскопать до 1 шага-1
Если Tempnum> = 2^(i-1), тогда
tempnum = tempnum-2^(i-1)
C10to2 = c10to2 и 1
еще
C10to2 = c10to2 и 0
конец, если
следующий
Если mysign = -1, то c10to2 = -& c10to2
конечная функция
'GB в UTF8-Convert GB Кодирование текста UTF8 Кодирование текста
Функция toutf8 (szinput)
Dim Wch, Uch, Szret
Dim x
Dim NASC, NASC2, NASC3
'Если входной параметр пуст, функция выхода
Если szinput = то
Toutf8 = szinput
Выходная функция
Конец, если
'Начало конверсии
Для x = 1 до Лена (Szinput)
'Используйте функцию MID для разделения текста кодирования GB
WCH = середина (Szinput, x, 1)
'Используйте функцию ASCW, чтобы вернуть код символов Unicode каждого кодируемого ГБ текста
Примечание: функция ASC возвращает код символа ANSI, обратите внимание на разницу
NASC = ASCW (WCH)
Если NASC <0, то NASC = NASC + 65536
If (nasc и hff80) = 0, тогда
szret = szret & wch
Еще
If (nasc и hf000) = 0, тогда
UCH = % & hex ((NASC / 2 ^ 6)) или & hc0 & hex (NASC и & H3F или H80)
szret = szret & uch
Еще
'GB Кодирование текста Text Unicode Code используется между 0800 -ffff
uch = % & hex ((NASC / 2 ^ 12) или и HE0) & % & _
HEX ((NASC / 2 ^ 6) и & H3F или H80) & % & _
HEX (NASC и H3F или H80)
szret = szret & uch
Конец, если
Конец, если
Следующий
Toutf8 = szret
Конечная функция
'GB в Unicode --- преобразовать текст кодирования GB в текст кодирования Unicode
Функция китайского 2unicode (str)
DIM I.
Dim Str_one
Dim str_unicode
if (isnull (str)), тогда
Выходная функция
конец, если
для i = 1 до Лена (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)
следующий
Китайский 2unicode = str_unicode
конечная функция
'URL декодирование
Функция urldecode (enstr)
Dim Destr
Dim C, I, V
Destry =
для i = 1 к Лену (ENSTR)
C = середина (enstr, i, 1)
Если c =%, то тогда
v = eval (& h+mid (enstr, i+1,2))
Если v <128, то тогда
Dests = destr & chr (v)
I = i+2
еще
Если isvalidhex (mid (enstr, i, 3)), тогда
Если isvalidhex (mid (enstr, i+3, 3)), тогда
V = eval (& h+mid (enstr, i+1,2)+mid (enstr, i+4,2))
Dests = destr & chr (v)
I = i+5
еще
v = eval (& h+mid (enstr, i+1,2)+cstr (hex (asc (mid (enstr, i+3, 1)))))))))))))))))))))))))))
Dests = destr & chr (v)
I = i+3
конец, если
еще
Destr = destr & c
конец, если
конец, если
еще
Если c =+ то
Dests = Dests &
еще
Destr = destr & c
конец, если
конец, если
следующий
Urldecode = destr
конечная функция
'Определите, является ли это эффективный шестнадцатеричный код
Функция isValidHex (str)
смуть
IsvalidHex = true
str = ucase (str)
Если len (str) <> 3, что isvalidhex = false: exit function
Если осталось (str, 1) <>% then isvalidhex = false: exit function
C = середина (str, 2,1)
если нет ((((((((((((((((((((((((((((c <(c> = 0) и ((c < = 9)) или ((c> = a) и (c <= z))), затем isvalidHex = false: функция выхода
C = середина (str, 3,1)
если нет ((((((((((((((((((((((((((((c <(c> = 0) и ((c < = 9)) или ((c> = a) и (c <= z))), затем isvalidHex = false: функция выхода
конечная функция