WAP common conversion function

xiaoxiao2021-03-06  14

Chinese characters are converted to UTF-8, a code written in an ASP written to UTF-8, you can try

Chinese characters are converted to UTF-8

Function Chinese2Unicode (STR)

DIM I

DIM STR_ONE

DIM STR_UNICODE

For i = 1 to 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)

NEXT

Response.write str_unication

END FUNCTION

UTF-8 to GB2312

Function UTF2GB (UTFSTR)

For Dig = 1 to Len (UTFSTR)

IF MID (UTFSTR, DIG, 1) = "%" THEN

IF LEN (UTFSTR)> = Dig 8 THEN

GBSTR = GBSTR & CONVCHINESE (MID (Utfstr, DIG, 9))

DIG = DIG 8

Else

GBSTR = GBSTR & MID (Utfstr, DIG, 1)

END IF

Else

GBSTR = GBSTR & MID (Utfstr, DIG, 1)

END IF

NEXT

UTF2GB = GBSTR

END FUNCTION

Function convChinese (x)

A = Split (MID (x, 2), "%")

i = 0

J = 0

For i = 0 to ubound (a)

A (i) = C16TO2 (A (i))

NEXT

For i = 0 to Ubound (a) -1

DIGS = INSTR (A (i), "0")

Unicode = ""

For j = 1 to DIGS-1

IF j = 1 THEN

A (i) = Right (A (i), LEN (A (i)) - DIGS)

Unicode = Unicode & A (i)

Else

i = i 1

A (i) = Right (A (i), len (A (i)) - 2)

Unicode = Unicode & A (i)

END IF

NEXT

IF LEN (C2to16 (Unicode) = 4 THEN

CONVCHINESE = CONVCHINESE & Chrw (Int ("& H" & C2to16 (Unicode)))

Else

CONVCHINESE = CONVCHINESE & CHR (Int ("& H" & C2TO16 (Unicode)))

END IF

NEXT

END FUNCTION

Function C2TO16 (X)

i = 1

For i = 1 to Len (x) STEP 4

C2TO16 = C2TO16 & HEX (C2TO10 (MID (X, I, 4))))

NEXT

END FUNCTION

Function C2TO10 (X)

C2TO10 = 0

IF x = "0" THEN EXIT FUNCTION

i = 0

For i = 0 to len (x) -1

IF MID (X, LEN (X) -i, 1) = "1" THEN C2TO10 = C2TO10 2 ^ (i) Next

END FUNCTION

Function C16TO2 (X)

i = 0

For i = 1 to Len (TRIM (X))

Tempstr = C10TO2 (CINT (INT ("& H" & MID (X, I, 1)))))))

Do While Len (Tempstr) <4

Tempstr = "0" & ​​tempstr

loop

C16TO2 = C16TO2 & TEMPSTR

NEXT

END FUNCTION

Function C10TO2 (X)

mysign = SGN (X)

X = ABS (x)

DIGS = 1

DO

IF x <2 ^ DIGS THEN

Exit do

Else

DIGS = DIGS 1

END IF

loop

Tempnum = x

i = 0

For i = DIGS TO 1 STEP-1

IF Tempnum> = 2 ^ (i-1) THEN

Tempnum = tempnum-2 ^ (i-1)

C10TO2 = C10to2 & "1"

Else

C10TO2 = C10to2 & "0"

END IF

NEXT

IF mysign = -1 TEN C10TO2 = "-" & C10to2

END FUNCTION

'======== second Function C2U (SGBSTR) DIM I, CFOR I = 1 to Len (SGBSTR) C = MID (SGBSTR, I, 1) C2U = C2U & "& # x" & hex (AscW (c)) & ";" NextEnd function '====== this function will flow into a binary string: Public function TransBinaryToStr (objObject as Variant) as StringDim i as IntegerDim nCount as IntegerDim bFlag as BooleanDim sRtn as StringDim VARCHAR AS VARIANTDIM Sheadletter as stringbflag = falsesrtn = "" ncount = lenb (objobject)

If not isnull (objobject) thenfor i = 1 to ncount'if bflag = false thenvarchar = midb (Objobject, i, 1) IF ASCB (varchar)> 127 ThensHeadletter = CSTR (HEX (ASCB (VARCHAR)) SRTN = SRTN & "%" & sheadletter'srtn = SRTN & CHR (ASCW (MIDB (Objobject, i 1, 1) & varchar)) 'bflag = trueelsesrtn = SRTN & CHR (ASCB (VARCHAR)) end if'else'bflag = FALSE 'End IfNextEnd IfTransBinaryToStr = sRtnEnd function' ====== this function can be extracted from the value you want Post string: Public function getUTF8Parameter (sParameter, sURL as Variant) as StringDim url () as ByteDim sIndex as IntegerDim nHighIndex as IntegerDim nLowIndex As IntegerDim sHighChar As StringDim sLowChar As StringDim svUrlUse As VariantDim sUrlUse As StringDim sLog As StringDim i, j, k, w As IntegerDim CurrentDim noldflag, nnewflagDim sHexToInteger As StringDim sRtn As String

Shextointeger = "123456789abcdef" SINDEX = INSTRB (SURL, SURL, SURL, SURL, SURL, SINDEX LEN (Sprameter) 2) SURLUSE = TransbinaryTostr (SVURLUSE)

If ISEMPTY (SURLUSE) OR SURLUSE = "" "Thengetutf8Parameter =" "EXIT functionendiff

K = 0NOLDFLAG = 2nnewflag = 2for i = 1 to len (surluse) current = MID (surluse, i, 1) if current = "& "hen exit forif current ="% "THENI = i 1shighchar = MID (surluse, i , 1) i = i 1Slowchar = MID (SURLUSE, I, 1) NHIGHINDEX = INSTR (SHEXTOINTEGER, UCASE (Shighchar)) NlowIndex = IRL (Slowchar)) Redim Preserve URL (J 1) URL (J ) = CBYTE (NHIGHINDEX * 16 NLOWINDEX)

J = J 1K = k 1nnewflag = 1ELSEREDIM URL (J 1) URL (j) = Cbyte (ASC (CURRENT)) J = J 1NNewflag = 2END IFIF (nnewflag = 1 and MID (surluse, i 1, 1) <> "%" Thendim Tempbyte () AS BYTEURL (UBOUND (URL)) = Cbyte (& H60) Tempbyte = URL

DIM STEMPSTEMP = STRCONV (Tempbyte, vbunicode)

SRTN = SRTN & STEMP

K = 0J = 0ELSEIF nnewflag = 2 THENSRTN = SRTN & CSTR (URL) j = 0nd ifnoldflag = nnewflagnext

Dim objhz as new afconvertlib.hzconvertdim sgb as stringobjhz.utf8togb SRTN, SGB

getUTF8Parameter = Replace (sGB, "` "," "getUTF8Parameter = Replace (getUTF8Parameter," "," `" getUTF8Parameter = Replace (getUTF8Parameter, " ", "" getUTF8Parameter = Replace (getUTF8Parameter, "` "," "

Set objhz = Nothing

END FUNCTION

转载请注明原文地址:https://www.9cbs.com/read-56546.html

New Post(0)