이 기사에서는 ASP로 전송할 수있는 매우 유용한 코드를 제공합니다. 여기에는 UTF8 GB2312 이진 십진법 16 진수가 포함됩니다.
'UTF에서 GB --- UTF8 변환 텍스트 인코딩 텍스트로 텍스트를 인코딩
dig = 1 to len (utfstr)에 대한 기능 UTF2GB (UTFSTR)
'UTF8 코딩 텍스트가%로 시작하면 변환됩니다.
Mid (utfstr, dig, 1) =% 인 경우
'UTF8 인코딩 텍스트는 8보다 큽니다.
LEN (UTFSTR)> = dig+8 인 경우
gbstr = gbstr & convchinese (MID (UTFSTR, DIG, 9))
dig = dig+8
또 다른
gbstr = gbstr & mid (utfstr, dig, 1)
끝 If
또 다른
gbstr = gbstr & mid (utfstr, dig, 1)
끝 If
다음
UTF2GB = GBSTR
엔드 기능
'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 = inst (a (i), 0)
유니 코드 =
j = 1에서 digs-1
j = 1이면
a (i) = 오른쪽 (a (i), len (a (i)) -digs)
유니 코드 = 유니 코드 & A (i)
또 다른
i = i+1
a (i) = 오른쪽 (a (i), Len (a (i)) -2)
유니 코드 = 유니 코드 & A (i)
끝 If
다음
LEN (C2To16 (유니 코드)) = 4 인 경우
convchinese = convchinese & chrw (int (& h & c2to16 (유니 코드))
또 다른
convchinese = convchinese & chr (int (& h & c2to16 (유니 코드))
끝 If
다음
엔드 기능
'이진 코드는 16 진 코드로 변환합니다
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에서
Mid (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))))
LEN (tempst) <4
tempStr = 0 & tempStr
고리
C16TO2 = C16TO2 & TEMPSTR
다음
엔드 기능
'최상위 코드는 이진 코드로 변환합니다
기능 c10to2 (x)
mysign = sgn (x)
x = abs (x)
digs = 1
~하다
x <2^가 파는 경우
출구
또 다른
digs = digs+1
끝 If
고리
tempnum = x
i = 0
i = 1 단계 1로 발굴됩니다
tempnum> = 2^(i-1)라면
tempnum = tempnum-2^(I-1)
C10TO2 = C10TO2 & 1
또 다른
C10TO2 = C10TO2 & 0
끝 If
다음
mySign = -1 인 경우 c10to2 = -& c10to2
엔드 기능
'gb to utf8-convert gb 인코딩 텍스트 인코딩 텍스트
기능 toutf8 (szinput)
Dim WCH, UCH, SZRET
희미한 x
Dim NASC, NASC2, NASC3
'입력 매개 변수가 비어 있으면 종료 기능이 있습니다
szinput =이면
toutf8 = szinput
종료 기능
끝 If
'전환을 시작하십시오
x = 1 to len (szinput)
'MID 함수를 사용하여 GB 인코딩 텍스트를 분할하십시오
WCH = MID (Szinput, X, 1)
'ASCW 함수를 사용하여 각 GB 인코딩 된 텍스트의 유니 코드 문자 코드를 반환합니다.
'참고 : 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 인코딩 텍스트 유니 코드 코드는 0800 -ffff 사이에 사용됩니다.
uch = % & hex ((nasc / 2 ^ 12) 또는 & he0) & % & _
16 진수 ((NASC / 2 ^ 6) 및 & H3F 또는 & H80) & % & _
16 진수 (NASC 및 & H3F 또는 & H80)
szret = szret & uch
끝 If
끝 If
다음
toutf8 = szret
엔드 기능
'gb to Unicode --- GB 인코딩 텍스트를 유니 코드 인코딩 텍스트로 변환
기능 중국어 2Unicode (str)
희미한 i
dim str_one
dim str_unicode
if (isnull (str))
종료 기능
끝 If
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)
다음
Chinese2unicode = str_unicode
엔드 기능
'Url Decoding
함수 urldecode (enstr)
딤 파괴
Dim C, I, v
Dest =
i = 1 to len (enstr)의 경우
C = MID (Enstr, I, 1)
C =% 인 경우
V = 평가 (& H+MID (ENSTR, I+1,2))
V <128이면
Dest = Dest & Chr (V)
i = i+2
또 다른
ISValidHex (Mid (Enstr, I, 3))이면
ISValidHex (Mid (Enstr, I+3, 3))라면
V = 평가 (& H+MID (ENSTR, I+1,2)+MID (ENSTR, I+4,2))
Dest = Dest & Chr (V)
i = i+5
또 다른
v = 평가 (& H+MID (ENSTR, I+1,2)+CSTR (HEX (ASC (MID (MID (ENSTR, I+3, 1))))
Dest = Dest & Chr (V)
i = i+3
끝 If
또 다른
Desp = Dest & c
끝 If
끝 If
또 다른
C =+ 인 경우
파괴 = 파괴 &
또 다른
Desp = Dest & c
끝 If
끝 If
다음
urldecode = desp
엔드 기능
'효과적인 16 진 코드인지 결정하십시오
기능 isvalidHex (str)
희미한 c
isvalidHex = true
str = ucase (str)
LEN (str) <> 3 인 경우 isvalidHex = false : 종료 함수
왼쪽 (str, 1) <>% 인 경우 isvalidHex = false : 종료 함수
C = MID (STR, 2,1)
그렇지 않은 경우 (((((((() = 9))) 또는 ((c> = a) 및 (c <= z))) 그런 다음 isvalidHex = false : 종료 함수
C = MID (STR, 3,1)
그렇지 않은 경우 (((((((() = 9))) 또는 ((c> = a) 및 (c <= z))) 그런 다음 isvalidHex = false : 종료 함수
엔드 기능