分享:解决BASE64编码问题的终极方法

tonl8 2009-08-05 07:02:23
刚下班发了一个贴子,http://topic.csdn.net/u/20090805/18/5110e486-2139-4562-9d3c-a0ae0c049ab6.html#r_achor
呵呵,没想到这么快!

我也正好找到此组件,解决了此问题
方法如下:

Dim getBASE64STR '编码后的内容

getBASE64STR=XMLbase64(StreamReadFile(server.MapPath("testFAX.doc"),1))

Function StreamReadFile(FileName,Ntype)
dim objStream,m,i,bchar,Newstr
Set objStream =Server.CreateObject("ADODB.Stream")
objStream.Open

if Ntype=1 then
objStream.Type = 1 '2进制方式
objStream.LoadFromFile FileName
StreamReadFile=objStream.Read
else
objStream.Type = 2 '字符方式
objStream.CharSet = "gb2312"
objStream.LoadFromFile FileName
StreamReadFile=objStream.ReadText
end if
objStream.Close
Set objStream = Nothing
End Function


function XMLbase64(bytesouce)
'bytesouce 必须是用ADODB.Stream 读取的二进制数据流,方法请参看 StreamReadFile(FileName,Ntype) 函数
dim NewXML
set NewXML=server.CreateObject("Msxml2.DOMDocument")
NewXML.loadXML "<root />"
NewXML.documentElement.dataType = "bin.base64"
NewXML.documentElement.nodeTypedValue = bytesouce
XMLbase64 = NewXML.documentElement.Text
end function

解码方法,请参照VBCODE:

Function Base64Decode(Source As String) As Byte()

Dim MainXml As New DOMDocument

MainXml.loadXML "<root />"

MainXml.documentElement.dataType = "bin.base64"

MainXml.documentElement.Text = Source

Base64Decode = MainXml.documentElement.nodeTypedValue

End Function
...全文
10 点赞 收藏 回复
写回复
回复
切换为时间正序
请发表友善的回复…
发表回复

还没有回复,快来抢沙发~

发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告