利用ADO STREAM实现BASE64编码和解码
2011-01-07 11:06
573 查看
'* ************************************** * '* 模块名称:modBase64.bas '* 模块功能:BASE64编码和解码函数 '* 作者:lyserver '* ************************************** * Option Explicit '- ------------------------------------------- - ' 函数说明:BASE64编码 '- ------------------------------------------- - Public Function Base64Encode(varIn As Variant) As String Dim adoStream As Object Dim xmlDoc As Object Dim xmlNode As Object Set adoStream = CreateObject("ADODB.Stream") adoStream.Charset = "gb2312" If VarType(varIn) = vbString Then adoStream.Type = 2 'adTypeText adoStream.Open adoStream.WriteText varIn ElseIf VarType(varIn) = vbByte Or vbArray Then adoStream.Type = 1 'adTypeBinary adoStream.Open adoStream.Write varIn Else Exit Function End If adoStream.Position = 0 adoStream.Type = 1 'adTypeBinary Set xmlDoc = CreateObject("MSXML2.DOMDocument") Set xmlNode = xmlDoc.createElement("MyNode") xmlNode.dataType = "bin.base64" xmlNode.nodeTypedValue = adoStream.Read Base64Encode = xmlNode.Text adoStream.Close End Function '- ------------------------------------------- - ' 函数说明:BASE64解码 '- ------------------------------------------- - Public Function Base64Decode(varIn As Variant, Optional ByVal ReturnValueType As VbVarType = vbString) As Byte() Dim adoStream As Object Dim xmlDoc As Object Dim xmlNode As Object Set xmlDoc = CreateObject("MSXML2.DOMDocument") Set xmlNode = xmlDoc.createElement("MyNode") xmlNode.dataType = "bin.base64" If VarType(varIn) = vbString Then xmlNode.Text = Replace(varIn, vbCrLf, "") ElseIf VarType(varIn) = vbByte Or vbArray Then xmlNode.Text = Replace(StrConv(varIn, vbUnicode), vbCrLf, "") Else Exit Function End If Set adoStream = CreateObject("ADODB.Stream") adoStream.Charset = "gb2312" adoStream.Type = 1 'adTypeBinary adoStream.Open adoStream.Write xmlNode.nodeTypedValue adoStream.Position = 0 If ReturnValueType = vbString Then adoStream.Type = 2 'adTypeText Base64Decode = adoStream.ReadText Else Base64Decode = adoStream.Read End If adoStream.Close End Function
相关文章推荐
- C#和JAVA利用BASE64实现图片编码解码
- 利用 XML 实现 BASE64 编码和解码
- C#实现Base64编码与解码
- BASE64编码and解码的C实现
- JS实现base64编码与解码
- C#实现Base64编码与解码及编码名称和代码页(Encoding.GetEncoding)
- C#实现Base64编码与解码
- Base64实现编码、解码原理
- 利用DirectShow实现对视频文件H264编码与解码基类 2
- Base64在线编码解码实现代码 演示与下载
- Base64编码解码C语言实现
- C#实现Base64编码与解码(转)
- [编解码] 关于base64编码的原理及实现
- Base64编码解码与实现
- 用C#实现Base64处理,加密解密,编码解码
- 利用DirectShow实现对视频文件H264编码与解码基类 3
- 利用Java实现对文件的简易Base64编码
- JS实现Base64编码与解码
- 关于BASE64,以及网上收集的各种编码解码实现
- [导入]JavaScript实现的Base64编码和解码