网络上有各种Base64编码、解码的例子源码,编码后虽然也可以通过大部分解码程序解码,但编码后的结果却各有不同。
转载请说明来源于:http://blog.csdn.net/aminfo/article/details/70478053
由于工作需要,在调用某API时,网络上的Base64编码结果不符合要求,于是自写一个基于VBS的BASE64 Encode和Decode,已经过初次测试。代码如下供参考:
<%'基于VBS、ASP的Base64 Encode 和 Base64 Decode
Dim sc
Set sc = CreateObject("MSScriptControl.ScriptControl")
sc.Language = "JScript"
Dim tmpStr, tmpResult
tmpStr = "··ASCII第···一次以规范标准的型态发表是在1967年,1234567890-=`~!·#¥%……—*()——+~!@#$%^&*()_+[]{};'\:""|,./<>?《》?:“|{},。/;‘、][ABCDEFGHIJKLMNOPQRSTUVWXYZ最后一次更新则是在1986年,至今为止共定义了128个字符,其中33个字符无法显示(这是以现今操作系统为依归,但在DOS模式··"
tmpResult = vbsBase64Encode(StringToByteArray(tmpStr))
Response.write "编码: " & tmpResult & "<BR>"
tmpResult = ByteArrayToString(vbsBase64Decode(tmpResult))
Response.write "解码:" & tmpResult & "<BR>"
Response.write "原串:" & tmpStr & "<BR>"
If tmpStr <> tmpResult Then
Response.write "结果不同"
Else
Response.write "结果相同"
End If
'编码
Function vbsBase64Encode(byteArray)
Dim last2byte : last2byte = 3
Dim last4byte : last4byte = 15
Dim last6byte : last6byte = 63
Dim lead6byte : lead6byte = 252
Dim