思路:
1先将十六进制字符串转换为十进制数组
2利用ADODB.Stream对象将十进制数组写入二进制文件
Sub ReadTxtHeaderAndWriteToWorksheet()
Dim filePath As String
Dim fileContent As String
' 十六进制字符串文本文件的路径
filePath = "C:\Users\Huahuai\Desktop\gpt.txt"
' 读取文本文件内容
Open filePath For Input As #1
fileContent = Input$(LOF(1), #1)
Close #1
binary = HexToBytes(fileContent)
Set ASTeam = CreateObject("ADODB.Stream")
With ASTeam
.Type = 1 ' 二进制类型
.Mode = 3 ' 可读可写
.Open '打开文件
.write binary ' 文件写入
.savetofile "C:\Users\Huahuai\Desktop\gpt.png" ' 文件另存
.Close ' 关闭
End With
End Sub
Function HexToBytes(str As String)
Dim bytes() As Byte
Dim i As Long
' 计算字节数组的长度
ReDim bytes(Len(str) \ 2 - 1)
' 解析每两位十六进制字符转换为十进制,并保存到数组
For i = 1 To Len(str) Step 2
bytes(i \ 2) = Val("&H" & Mid(str, i, 2))
Next i
HexToBytes = bytes()
End Function