vba Base64形式的String转成byte[]
时间: 2023-12-18 15:05:27 浏览: 168
在 VBA 中,可以使用 `Base64Decode` 函数将 Base64 字符串转换为字节数组:
```vb
' 转换 Base64 字符串为字节数组
Public Function Base64StringToBytes(ByVal base64String As String) As Byte()
Dim bytes() As Byte
Dim encoder As Object
Set encoder = CreateObject("System.Text.UTF8Encoding")
bytes = Base64Decode(base64String)
Base64StringToBytes = bytes
End Function
' 辅助函数:将 Base64 字符串解码为字节数组
Private Function Base64Decode(ByVal base64String As String) As Byte()
Dim xmlDoc As Object
Set xmlDoc = CreateObject("MSXML2.DOMDocument")
Dim node As Object
Set node = xmlDoc.CreateElement("base64")
node.DataType = "bin.base64"
node.Text = base64String
Base64Decode = node.nodeTypedValue
End Function
```
例如,如果要将字符串 `"SGVsbG8gV29ybGQh"` 转换为字节数组,可以使用以下代码:
```vb
Dim bytes() As Byte
bytes = Base64StringToBytes("SGVsbG8gV29ybGQh")
```
这将返回一个包含字节数组 `{72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33}` 的变量 `bytes`。
阅读全文