asp base64 utf-8为了兼容asp.net的base64

时间:2022-09-17 17:57:06

代码如下:


<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> 
<%Session.CodePage=65001%> 
<!--#include file="base64.asp"--> 
<% 
Function AspUrlDecode(strValue) 
Dim varAry, varElement, objStream, lngLoop, Flag 
strValue = Replace(strValue, "+", " ") 
varAry = Split(strValue, "%") 
Flag = varAry(0) = "" 
Set objStream = Server.CreateObject("ADODB.Stream") 
With objStream 
.Type = 2 
.Mode = 3 
.Open 
For Each varElement In varAry 
If varElement <> Empty Then 
If Len(varElement) >= 2 And Flag Then 
.WriteText ChrB(CInt("&H" & Left(varElement, 2))) 
For lngLoop = 3 To Len(varElement) 
.WriteText ChrB(Asc(Mid(varElement, lngLoop, 1))) 
Next 
Else 
For lngLoop = 1 To Len(varElement) 
.WriteText ChrB(Asc(Mid(varElement, lngLoop, 1))) 
Next 
Flag = True 
End If 
End If 
Next 
.WriteText Chr(0) 
.Position = 0 
AspUrlDecode = Replace(ConvUnicode(.ReadText), Chr(0), "", 1, -1, 0) 
On Error Resume Next 
.Close 
Set objStream = Nothing 
End With 
End Function 



Function ConvUnicode(ByVal strData) 
Dim rs, stm, bytAry, intLen 
If Len(strData & "") > 0 Then 
strData = MidB(strData, 1) 
intLen = LenB(strData) 
Set rs = Server.CreateObject("ADODB.Recordset") 
Set stm = Server.CreateObject("ADODB.Stream") 
With rs 
.Fields.Append "X", 205, intLen 
.Open 
.AddNew 
rs(0).AppendChunk strData & ChrB(0) 
.Update 
bytAry = rs(0).GetChunk(intLen) 
End With 
With stm 
.Type = 1 
.Open 
.Write bytAry 
.Position = 0 
.Type = 2 
.Charset = "utf-8" 
ConvUnicode = .ReadText 
End With 
End If 
On Error Resume Next 
stm.Close 
Set stm = Nothing 
rs.Close 
Set rs = Nothing 
End Function 


%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
</head> 
<body> 
<% 


'base64编码后,比起.net多了77u/ 
Response.Write("base64编码后:"&base64Encode("阿会楠")&"<br />") 

'base64解码后 
Response.Write("base64解码后:"&base64uncode("6Zi/5Lya5qWg")&"<br />") 

%> 
</body> 
</html>