你會如何從VBScript中調用GetBytes(的System.Text.UTF8Encoding)?System.Text.UTF8從VBScript編碼
你can use the .NET Framework from VBScript as its exposed to COM,但我還沒有遇到好的文檔/手冊。
你會如何從VBScript中調用GetBytes(的System.Text.UTF8Encoding)?System.Text.UTF8從VBScript編碼
你can use the .NET Framework from VBScript as its exposed to COM,但我還沒有遇到好的文檔/手冊。
如果您在VBScript以尋找等價,您可以使用ADO流做到這一點:
Const adTypeBinary = 1
Dim adoStr, bytesthroughado
Set adoStr = CreateObject("Adodb.Stream")
adoStr.Charset = "utf-8"
adoStr.Open
adoStr.WriteText "你好Ğ"
adoStr.Position = 0 'reset position
adoStr.Type = adTypeBinary
adoStr.Position = 3 'skip bom
bytesthroughado = adoStr.Read 'get bytes
WScript.Echo LenB(bytesthroughado) 'length
adoStr.Close
Set adoStr = Nothing
這是可能的從VBScript訪問某些.NET組件(從mscorlib程序)。
Dim encoding, bytesthroughdotnet
Set encoding = CreateObject("System.Text.UTF8Encoding")
bytesthroughdotnet = encoding.GetBytes_4("你好Ğ") 'get bytes
WScript.Echo LenB(bytesthroughdotnet) 'length
Set encoding = Nothing
您如何知道在GetBytes_4中使用「_4」? – Eugene 2012-03-17 21:55:19
@ user389823我增加了後綴,直到找到正確的方法。不幸的是,後綴的順序與.Net重載列表不匹配。我想聽聽有人真的知道。 – 2012-03-17 22:44:28
我在http://stackoverflow.com/questions/9755263/determining-net-method-suffix-number-in-vbscript-com上提出了這個問題。再次感謝,(我最初只上升到_3)! – Eugene 2012-03-18 01:26:29
時代不合時代,恐龍與人類的電影風格。您可以編寫一個[ComVisible]類來設置時間機器。 – 2012-03-17 21:21:50