【问题标题】:vba base64 image png decodevba base64图像png解码
【发布时间】:2020-07-23 23:21:43
【问题描述】:

我在抓取网页时遇到了很大的问题

我需要抓取 img src 地址 但 结果是 "数据:图像/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR4nGP6zwAAAgcBApocMXEAAAAASUVORK5CYII="

一开始我没有这个,但后来我知道了 但我无法解码

我尝试搜索 base64 png 图像,但我根本无法尝试编码。 我需要你的帮助

【问题讨论】:

标签: vba base64 decode encode


【解决方案1】:

试试这个。我写了两个函数DecodeBase64WriteByteArrayToFileDecodeBase64 接受一个 Base64 编码的字符串并从中返回 Byte()WriteByteArrayToFile 接受 Byte() 和 FilePath 作为字符串,并将此 Byte() 写入文件。

Example Sub 中的"YOURPATHGOESHERE\Picture.png" 部分更新为您计算机上的有效文件路径,看看这段代码是否符合您的要求。运行下面的代码时,我得到了一张看起来是正方形的非常小的图片。

代码

Option Explicit

'Decode Base64 string into a byte array
Public Function DecodeBase64(ByVal Base64String As String) As Byte()
    With CreateObject("MSXML2.DOMDocument").createElement("b64")
        .DataType = "bin.base64"
        .Text = Base64String
        DecodeBase64 = .nodeTypedValue
    End With
End Function

'Take a byte array and write to a file
Public Sub WriteByteArrayToFile(FileData() As Byte, ByVal FilePath As String)
    Dim FileNumber As Long: FileNumber = FreeFile
    Open FilePath For Binary Access Write As #FileNumber
    Put #FileNumber, 1, FileData
    Close #FileNumber
End Sub

'Run from here
Sub example()
    WriteByteArrayToFile DecodeBase64("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR4nGP6zwAAAgcBApocMXEAAAAASUVORK5CYII="), "YOURPATHGOESHERE\Picture.png"
End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-21
    • 2016-01-13
    • 1970-01-01
    • 2013-10-25
    • 1970-01-01
    • 2022-01-10
    • 1970-01-01
    相关资源
    最近更新 更多