반응형
URLEncode(URLStr)와 URLDecode(URLStr)를 해보세요.. ^^
----- Example -----
<%
URLstr = "인코드 함수와 디코드 함수입니다. Test 중"
Encode = URLEncode(URLStr)
Decode = URLDecode(Encode)
response.write Encode & "<br>"
response.write Decode & "<br>"
%>
----- Function -----
<%
'****************************************************************************************
'*
'* URLTools.vbs 는 공개 VBScript File 입니다. 상업적, 비상업적인 목적으로 어디서나
'* 자유롭게 사용하실 수 있습니다.
'*
'* 다만, 기능 추가나 에러 수정을 목적으로 Code 를 수정하셨을 때는, 제게 수정된 내용과
'* 목적에 대하여 적은 메일을 보내주셔서 제가 수정사항을 반영할 수 있도록 해주시면 감사하
'* 겠습니다. 또한, 이런식으로 수정된 Code 는 그 내용과 이유를 정리하여 제 홈페이지의
'* 내용에 추가하도록 하겠습니다. 연락처는 다음과 같습니다.
'*
'* Homepage URL : http://www.egocube.pe.kr/
'* E-Mail : songgun@egocube.pe.kr
'*
'****************************************************************************************
'****************************************************************************************
'*
'* 형 식 : Function
'* 정 의 : Public Function URLEncode(URLStr)
'* 설 명 : URLStr 인자로 입력받은 문자열을 URLEncoding 한다.
'* 작 성 : 송원석
'* 날 짜 : 2001.12.03
'*
'****************************************************************************************
Public Function URLEncode(URLStr)
Dim sURL '** 입력받은 URL 문자열
Dim sBuffer '** Encoding 중의 URL 을 담을 Buffer 문자열
Dim sTemp '** 임시 문자열
Dim cChar '** URL 문자열 중의 현재 Index 의 문자
Dim Index
On Error Resume Next
Err.Clear
sURL = Trim(URLStr) '** URL 문자열을 얻는다.
sBuffer = "" '** 임시 Buffer 용 문자열 변수 초기화.
'******************************************************
'* URL Encoding 작업
'******************************************************
For Index = 1 To Len(sURL)
'** 현재 Index 의 문자를 얻는다.
cChar = Mid(sURL, Index, 1)
If cChar = "0" Or _
(cChar >= "1" And cChar <= "9") Or _
(cChar >= "a" And cChar <= "z") Or _
(cChar >= "A" And cChar <= "Z") Or _
cChar = "-" Or _
cChar = "_" Or _
cChar = "." Or _
cChar = "*" Then
'** URL 에 허용되는 문자들 :: Buffer 문자열에 추가한다.
sBuffer = sBuffer & cChar
ElseIf cChar = " " Then
'** 공백 문자 :: + 로 대체하여 Buffer 문자열에 추가한다.
sBuffer = sBuffer & "+"
Else
'** URL 에 허용되지 않는 문자들 :: % 로 Encoding 해서 Buffer 문자열에 추가
sTemp = CStr(Hex(Asc(cChar)))
If Len(sTemp) = 4 Then
sBuffer = sBuffer & "%" & Left(sTemp, 2) & "%" & Mid(sTemp, 3, 2)
ElseIf Len(sTemp) = 2 Then
sBuffer = sBuffer & "%" & sTemp
End If
End If
Next
'** Error 처리
If Err.Number > 0 Then
URLEncode = ""
Exit Function
End If
'** 결과를 리턴한다.
URLEncode = sBuffer
Exit Function
End Function
'****************************************************************************************
'*
'* 형 식 : Function
'* 정 의 : Public Function URLDecode(URLStr)
'* 설 명 : URLStr 인자로 입력받은 문자열을 URLDecoding 한다.
'* 작 성 : 송원석
'* 날 짜 : 2001.12.03
'*
'****************************************************************************************
Public Function URLDecode(URLStr)
Dim sURL '** 입력받은 URL 문자열
Dim sBuffer '** Decoding 중의 URL 을 담을 Buffer 문자열
Dim cChar '** URL 문자열 중의 현재 Index 의 문자
Dim Index
On Error Resume Next
Err.Clear
sURL = Trim(URLStr) '** URL 문자열을 얻는다.
sBuffer = "" '** 임시 Buffer 용 문자열 변수 초기화.
'******************************************************
'* URL Decoding 작업
'******************************************************
Index = 1
Do While Index <= Len(sURL)
cChar = Mid(sURL, Index, 1)
If cChar = "+" Then
'** '+' 문자 :: ' ' 로 대체하여 Buffer 문자열에 추가한다.
sBuffer = sBuffer & " "
Index = Index + 1
ElseIf cChar = "%" Then
'** '%' 문자 :: Decoding 하여 Buffer 문자열에 추가한다.
cChar = Mid(sURL, Index + 1, 2)
If CInt("&H" & cChar) < &H80 Then
'** 일반 ASCII 문자
sBuffer = sBuffer & Chr(CInt("&H" & cChar))
Index = Index + 3
Else
'** 2 Byte 한글 문자
cChar = Replace(Mid(sURL, Index + 1, 5), "%", "")
sBuffer = sBuffer & Chr(CInt("&H" & cChar))
Index = Index + 6
End If
Else
'** 그 외의 일반 문자들 :: Buffer 문자열에 추가한다.
sBuffer = sBuffer & cChar
Index = Index + 1
End If
Loop
'** Error 처리
If Err.Number > 0 Then
URLDecode = ""
Exit Function
End If
'** 결과를 리턴한다.
URLDecode = sBuffer
Exit Function
End Function
%>
----- Example -----
<%
URLstr = "인코드 함수와 디코드 함수입니다. Test 중"
Encode = URLEncode(URLStr)
Decode = URLDecode(Encode)
response.write Encode & "<br>"
response.write Decode & "<br>"
%>
----- Function -----
<%
'****************************************************************************************
'*
'* URLTools.vbs 는 공개 VBScript File 입니다. 상업적, 비상업적인 목적으로 어디서나
'* 자유롭게 사용하실 수 있습니다.
'*
'* 다만, 기능 추가나 에러 수정을 목적으로 Code 를 수정하셨을 때는, 제게 수정된 내용과
'* 목적에 대하여 적은 메일을 보내주셔서 제가 수정사항을 반영할 수 있도록 해주시면 감사하
'* 겠습니다. 또한, 이런식으로 수정된 Code 는 그 내용과 이유를 정리하여 제 홈페이지의
'* 내용에 추가하도록 하겠습니다. 연락처는 다음과 같습니다.
'*
'* Homepage URL : http://www.egocube.pe.kr/
'* E-Mail : songgun@egocube.pe.kr
'*
'****************************************************************************************
'****************************************************************************************
'*
'* 형 식 : Function
'* 정 의 : Public Function URLEncode(URLStr)
'* 설 명 : URLStr 인자로 입력받은 문자열을 URLEncoding 한다.
'* 작 성 : 송원석
'* 날 짜 : 2001.12.03
'*
'****************************************************************************************
Public Function URLEncode(URLStr)
Dim sURL '** 입력받은 URL 문자열
Dim sBuffer '** Encoding 중의 URL 을 담을 Buffer 문자열
Dim sTemp '** 임시 문자열
Dim cChar '** URL 문자열 중의 현재 Index 의 문자
Dim Index
On Error Resume Next
Err.Clear
sURL = Trim(URLStr) '** URL 문자열을 얻는다.
sBuffer = "" '** 임시 Buffer 용 문자열 변수 초기화.
'******************************************************
'* URL Encoding 작업
'******************************************************
For Index = 1 To Len(sURL)
'** 현재 Index 의 문자를 얻는다.
cChar = Mid(sURL, Index, 1)
If cChar = "0" Or _
(cChar >= "1" And cChar <= "9") Or _
(cChar >= "a" And cChar <= "z") Or _
(cChar >= "A" And cChar <= "Z") Or _
cChar = "-" Or _
cChar = "_" Or _
cChar = "." Or _
cChar = "*" Then
'** URL 에 허용되는 문자들 :: Buffer 문자열에 추가한다.
sBuffer = sBuffer & cChar
ElseIf cChar = " " Then
'** 공백 문자 :: + 로 대체하여 Buffer 문자열에 추가한다.
sBuffer = sBuffer & "+"
Else
'** URL 에 허용되지 않는 문자들 :: % 로 Encoding 해서 Buffer 문자열에 추가
sTemp = CStr(Hex(Asc(cChar)))
If Len(sTemp) = 4 Then
sBuffer = sBuffer & "%" & Left(sTemp, 2) & "%" & Mid(sTemp, 3, 2)
ElseIf Len(sTemp) = 2 Then
sBuffer = sBuffer & "%" & sTemp
End If
End If
Next
'** Error 처리
If Err.Number > 0 Then
URLEncode = ""
Exit Function
End If
'** 결과를 리턴한다.
URLEncode = sBuffer
Exit Function
End Function
'****************************************************************************************
'*
'* 형 식 : Function
'* 정 의 : Public Function URLDecode(URLStr)
'* 설 명 : URLStr 인자로 입력받은 문자열을 URLDecoding 한다.
'* 작 성 : 송원석
'* 날 짜 : 2001.12.03
'*
'****************************************************************************************
Public Function URLDecode(URLStr)
Dim sURL '** 입력받은 URL 문자열
Dim sBuffer '** Decoding 중의 URL 을 담을 Buffer 문자열
Dim cChar '** URL 문자열 중의 현재 Index 의 문자
Dim Index
On Error Resume Next
Err.Clear
sURL = Trim(URLStr) '** URL 문자열을 얻는다.
sBuffer = "" '** 임시 Buffer 용 문자열 변수 초기화.
'******************************************************
'* URL Decoding 작업
'******************************************************
Index = 1
Do While Index <= Len(sURL)
cChar = Mid(sURL, Index, 1)
If cChar = "+" Then
'** '+' 문자 :: ' ' 로 대체하여 Buffer 문자열에 추가한다.
sBuffer = sBuffer & " "
Index = Index + 1
ElseIf cChar = "%" Then
'** '%' 문자 :: Decoding 하여 Buffer 문자열에 추가한다.
cChar = Mid(sURL, Index + 1, 2)
If CInt("&H" & cChar) < &H80 Then
'** 일반 ASCII 문자
sBuffer = sBuffer & Chr(CInt("&H" & cChar))
Index = Index + 3
Else
'** 2 Byte 한글 문자
cChar = Replace(Mid(sURL, Index + 1, 5), "%", "")
sBuffer = sBuffer & Chr(CInt("&H" & cChar))
Index = Index + 6
End If
Else
'** 그 외의 일반 문자들 :: Buffer 문자열에 추가한다.
sBuffer = sBuffer & cChar
Index = Index + 1
End If
Loop
'** Error 처리
If Err.Number > 0 Then
URLDecode = ""
Exit Function
End If
'** 결과를 리턴한다.
URLDecode = sBuffer
Exit Function
End Function
%>
반응형