[함수] [asp] utf-8에서 urldecode 하기
지금까지 개발 환경이 euc-kr이 대세라 urldecode 함수를 찾아 봐도 전부 euc-kr 기반이다.
utf-8에 해당하는 게 없는지 뒤졌더니 중국 사이트가 있더라.
주석이 한자로 적혀 있는 특이한 경험 ㅋㅋ
출처 : http://www.cftea.com/c/2009/10/OOXX97QIONHANAF9.asp
Function UrlDecode_GBToUtf8(ByVal str)
Dim B,ub ''中文字的Unicode码(2字节)
Dim UtfB ''Utf-8单个字节
Dim UtfB1, UtfB2, UtfB3 ''Utf-8码的三个字节
Dim i, n, s
n=0
ub=0
For i = 1 To Len(str)
B=Mid(str, i, 1)
Select Case B
Case "+"
s=s & " "
Case "%"
ub=Mid(str, i + 1, 2)
UtfB = CInt("&H" & ub)
If UtfB<128 Then
i=i+2
s=s & ChrW(UtfB)
Else
UtfB1=(UtfB And &H0F) * &H1000 ''取第1个Utf-8字节的二进制后4位
UtfB2=(CInt("&H" & Mid(str, i + 4, 2)) And &H3F) * &H40 ''取第2个Utf-8字节的二进制后6位
UtfB3=CInt("&H" & Mid(str, i + 7, 2)) And &H3F ''取第3个Utf-8字节的二进制后6位
s=s & ChrW(UtfB1 Or UtfB2 Or UtfB3)
i=i+8
End If
Case Else ''Ascii码
s=s & B
End Select
Next
UrlDecode_GBToUtf8 = s
End Function
영삼넷
Categories
Recent Posts
Recent Comments
Statistics
- Total Visitors:
- 413596
- Today:
- 6842776
- Yesterday:
- 9756951
IT강국 김영삼 블로그에 오신걸 진심으로 환영합니다.
©2002 영삼넷 // openkr
©2002 영삼넷 // openkr