2016-11-14 65 views
1

經典ASP中PHP pack()函數的等效函數是什麼?經典ASP等效PHP包()

+1

經典ASP中沒有等價的功能。作爲開源的PHP在過去幾年中對第三方庫有很多支持,並且在版本之間增加了大量的功能,而Classic ASP從來沒有進行過那麼多的持續開發,這使得我認爲它處於劣勢。添加到經典ASP的唯一真正方法是使用COM組件,這些COM組件是您在Web服務器上註冊的DLL,並通過COM通過經典ASP訪問。有一些免費的,但好的通常是許可的,會花費你。 – Lankymart

回答

1

現成的經典ASP中沒有等效的功能。您在Classic ASP中實現此功能時基本上有幾個選項,您可以;

  1. 使用COM組件來模仿包含使用暴露給COM的.NET程序集的功能。
  2. 嘗試寫的代碼自己,但使用VBScript尤其是你可能會打的問題與字節數組等工作
  3. 寫自己的COM組件如C主流語言++或C#(還有其他的,我只是不列出它們全部並且不確定是否支持COM啓用的DLL)
+0

我在哪裏可以找到這些COM組件?試圖搜索,但無法找到任何相關。 – Raptor

+0

@Raptor只有一個我能想到的是我的頭頂是[motobit.com - ASP文件上傳和ScriptUtilities(二進制數據處理)](http://www.motobit.com/help/scptutl/upload.asp )。他們還提供了一些vanilla方法[變體數組和真正的字節數組之間的二進制操作](http://www.motobit.com/tips/detpg_binarytostring/),但它有點沉重,如果我必須這樣做, d嘗試使用類似c#的東西來編寫我自己的COM可見DLL,它可以爲我完成繁重的工作。 – Lankymart

+0

謝謝。將調查它 – Raptor

0

我有另一種方法來實現這一目標:

Dim key2, hexarr, binstr 
key2 = "12 34 56 78 90 AB CD EF" 
hexarr = Split(key2) 
ReDim binarr(UBound(hexarr)) 

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

binstr = Join(binarr, "") 

其中key2是隱密空間由每2個字符填充。

結果與PHP的pack()相同,但Classic ASP中的其他功能無法正確讀取binstr