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

<%@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>



上一篇:触发器使用例子

下一篇:ASP UrlEncode的实现不会有乱码

留下脚印压缩包密码:sosuo8
名字:
全部评论:
申明:本站部分文章来自网络,由于各种原因对文章的来源无从考究,如果您是“ asp base64 utf-8为了兼容asp.net的base64 ”的原作者,若侵犯您的版权,请与我联系!在此请您原谅我的幼稚和无知!联系方法:email:ahuinan@21cn.com  QQ:106494262

感谢以下网友对网站提出的建议:
1、感谢“蓝树叶kiss”网友发现一个评论漏洞。(2009-2-28)
2、感谢“陈臣”对程序优化和seo方面的建议。(2009-3-18)
文章档案
  • 作者:佚名
  • 来源:转载
  • 日期:2009-7-2 11:11:00
  • 点击:785
网友投票(您觉得这篇文章怎样?)
loadding...请稍侯......