使用VBScript将十六进制转换为二进制

使用VBScript将十六进制转换为二进制,vbscript,binary,hex,converter,Vbscript,Binary,Hex,Converter,是否可以使用VBS将十六进制转储转换为二进制? 我制作了一个程序,将任何文件读取为字节数组,然后将其转换为十六进制。 在输出中,hextump如下所示 00 00 00 0A 4D 直到结束。 现在我想知道是否可以将其转换回二进制并使用VBScript执行。 非常感谢您的帮助。像这样的方法应该可以: hexstr = "00 00 00 0A 4D" hexarr = Split(hexstr) ReDim binarr(UBound(hexarr)) For i = 0 To UBoun

是否可以使用VBS将十六进制转储转换为二进制? 我制作了一个程序,将任何文件读取为字节数组,然后将其转换为十六进制。 在输出中,hextump如下所示

00 00 00 0A 4D
直到结束。 现在我想知道是否可以将其转换回二进制并使用VBScript执行。
非常感谢您的帮助。

像这样的方法应该可以:

hexstr = "00 00 00 0A 4D"

hexarr = Split(hexstr)
ReDim binarr(UBound(hexarr))

For i = 0 To UBound(hexarr)
  binarr(i) = Chr(CInt("&h" & hexarr(i)))
Next

binstr = Join(binarr, "")

您可以使用十六进制转储创建一个数组,在前面加上“&h”,然后写入二进制文件:

Dim File : Set File = CreateObject("Scripting.FileSystemObject").CreateTextFile("Jim.bin")
data = Array(&h00,&h00,&h00,&h0A,&h4D)

for each x in data
File.write chr(x)
next

File.Close

休息一天?在VBScript中,不能
CInt
以十六进制表示字节的字符串。(你错过了一个
ReDim
行)@AutomatedChaos当然可以。您只需要在字符串前面加上
&h
,这是我忘记的。修正了。哦,很好的解决方案。我正在考虑创建一个字典,其中包含256个条目中的所有十六进制对及其Chr'd Int值。然后对每一对进行查找,在字典中查找并使用数组中的项。但这要好得多。