06
2009
05

vbs脚本的base64编码解码函数

最近做了一些涉及base64的东西,用多种语言写了这个函数,手头有这个vbs脚本的函数(非原创),在此记忆一下

  • MsgBox "abc的base64编码是 : " & base64Encode("abc"),64,"abc的base64编码是"
  • MsgBox "编码再解码是 : " & base64uncode(base64Encode("abc")),64,"编码再解码"
  • Function base64Encode(sString)
  •     If sString = "" or IsNull(sString) Then
  •         base64Encode = ""
  •         Exit Function
  •     End If
  •     Dim xml_dom, Node
  •     Set xml_dom = CreateObject("Microsoft.XMLDOM")
  •     With xml_dom
  •         .loadXML ("
  • ")
  •         Set Node = xml_dom.createElement("MyText")
  •         With Node
  •             .dataType = "bin.base64"
  •             .nodeTypedValue = Gb2312_Stream(sString)
  •             base64Encode = .Text
  •         End With
  •         xml_dom.documentElement.appendChild Node
  •     End With
  •     Set xml_dom = Nothing
  • End Function
  • Function base64uncode(sString)
  •     If sString = "" or IsNull(sString) Then
  •         base64uncode = ""
  •         Exit Function
  •     End If
  •     Dim xml_dom, Node
  •     Set xml_dom = CreateObject("Microsoft.XMLDOM")
  •     With xml_dom
  •         .loadXML ("
  • ")
  •         Set Node = xml_dom.createElement("MyText")
  •         With Node
  •             .dataType = "bin.base64"
  •             .Text = sString
  •             base64uncode = Stream_GB2312(.nodeTypedValue)
  •         End With
  •         xml_dom.documentElement.appendChild Node
  •     End With
  •     Set xml_dom = Nothing
  • End Function
  • Function Gb2312_Stream(sString)
  •     Dim dr
  •     Set dr = CreateObject("ADODB.Stream")
  •     With dr
  •         .Mode = 3
  •         .Type = 2
  •         .open
  •         .Charset = "gb2312"
  •         .WriteText sString
  •         .position = 0
  •         .Type = 1
  •         Gb2312_Stream = .Read
  •         .Close
  •     End With
  •     Set dr = Nothing
  • End Function
  • Function Stream_GB2312(sStream)
  •     Dim dr
  •     Set dr = CreateObject("ADODB.Stream")
  •     With dr
  •         .Mode = 3
  •         .Type = 1
  •         .open
  •         .Write sStream
  •         .position = 0
  •         .Type = 2
  •         .Charset = "gb2312"
  •         Stream_GB2312 = .ReadText
  •         .Close
  •     End With
  •     Set dr = Nothing
  • End Function


32%
« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。