Javascript 是否可以将宽空字符传递给ActiveX?

Javascript 是否可以将宽空字符传递给ActiveX?,javascript,vbscript,com,activex,bho,Javascript,Vbscript,Com,Activex,Bho,我希望能够将包含空字符的BSTR传递给ActiveX控件(这不是我的,所以我无法修改代码) 代码中没有空过滤器,只是通过BSTR参数使用WriteFile,但是如何将宽空(0x 00 00)传递给ActvieX?可能吗 [id(0x60020021), helpstring("method FileWriting")] void FileWriting( [in] BSTR buffer); BStr不在乎其中是否有空值。在VB或VBSchr(43)&vbnull&chr(43

我希望能够将包含空字符的BSTR传递给ActiveX控件(这不是我的,所以我无法修改代码)

代码中没有空过滤器,只是通过BSTR参数使用WriteFile,但是如何将宽空(0x 00 00)传递给ActvieX?可能吗

[id(0x60020021), helpstring("method FileWriting")]
void FileWriting(
        [in] BSTR buffer);

BStr不在乎其中是否有空值。在VB或VBS
chr(43)&vbnull&chr(43)
中。所有内容都已经是unicode,因此无需指定前导空字节


但是,空值可能会导致其他程序或组件出现不需要的问题。

unescape
正确处理
%u0000
WScript.Echo
,MsgBox和-可能-
。文件写入
不:

obj.FileWriting(unescape("%u0041%u0042%u0043")) // working

obj.FileWriting(unescape("%u0041%u0000%u0043")) // not working, just "A"

vbNull是一个值为1的整数常量。
>> s = unescape("%u0041%u0000%u0042")
>> WScript.Echo s, Len(s), LenB(s)
>>
A 3 6