下面的代碼片段下載使用VBScript的二進制文件:如何從字節數組中讀取生成的二進制文件
...
Dim fs,ts
varByteArray = http.ResponseBody
Set fs = CreateObject("Scripting.FileSystemObject")
Set ts = fs.CreateTextFile("filetowrite", True)
For lngCounter = 0 to UBound(varByteArray)
ts.Write Chr(255 And Ascb(Midb(varByteArrary, lngCounter + 1, 1)))
Next
ts.Close
(完整的代碼可以發現here)
我想知道:
Chr(255 And Ascb(...
- 從我understandig
Chr
生成2個字節UTF-8,而不是一(https://support.microsoft.com/en-us/kb/145745)。但是,對於新生成的二進制文件的正確字節輸出,這不是必需的嗎? - 爲什麼使用
And
運算符來屏蔽255,其運算符的數量爲一個字節的ANSI字符。這有什麼目的?
VBScript如何在內部表示字符串,寫入文件是兩個不同的事情。 –
嗯,所以它似乎是因爲Midb-> Ascb,因此不能有任何特殊的unicode表示。因此,Chr之後的字符在內部總是爲0-255 |然後,字符被賦予文本流寫入的一個字節ASCII。因此寫入過程再次正確。 –
對於那些最近沒有在Windows機器上使用ADO庫的人來說,這對我來說似乎毫無意義? – Lankymart