关于bin.base64和bin.hex和urlencode的编码比较及ASP解码
网络整理 - 09-01
源文件是UTF8编码,长度44907经过bin2hex编码得到长度90882
经过base64_encode编码得到长度60588
经过urlencode编码得到长度76909
以上可以看出,base64编码相对于其他编码来说都小,官方说,这种编码数据量大33%,有兴趣的可以算算是不是。
因此base64在网络传输编码中应用的最广泛。
谈谈解码。
按照普通的思路做ASP解码很复杂的(其他语言就一个函数,这就是我们为什么要放弃asP的原因)
想想有没有什么变通的方法?
用XMLDOM!
Dim objXmlFile,objXmle
Set objXmlFile = Server.CreateObject("Microsoft.XMLDOM")
objXmlFile.loadXML("<r xmlns:dt=""urn:schemas-microsoft-com:datatypes""><e dt:dt=""bin.hex"">"&STR&"</e></r>")
'http://www.dc9.cn 'sipo 2007-4-11制作
Set objXmle=objXmlFile.documentElement.selectSingleNode("e")
Call SaveToFileBin(BlogPath & newEspamFile ,objXmle.nodeTypedvalue)
Function SaveToFileBin(p,c)
Dim objStream
Set objStream = CreateObject("ADODB.Stream")
With objStream
.Type = 1
.Mode = 3
.Open
.Write c
.SaveToFile p,2
.Close
End With
Set objStream = Nothing
SaveToFileBin=True
End Function
上面的bin.hex换成bin.base64就可以解base64的了
这比写一大堆云山雾罩的函数简单多了吧?