C# Javascript:将对象强制转换为字节数组并转换为字符串
我试图在javascript中将字节数组转换为字符串。但首先,我必须向字节数组强制转换一个对象 以下是一个示例:C# Javascript:将对象强制转换为字节数组并转换为字符串,c#,javascript,byte,C#,Javascript,Byte,我试图在javascript中将字节数组转换为字符串。但首先,我必须向字节数组强制转换一个对象 以下是一个示例: function Main(obj) { //Obj is an object (in fact, it's a bytes array var str = FromBytesToString(obj); //str must be a string, computed from the obj return str; } 有人知道怎么做吗 提前感
function Main(obj)
{
//Obj is an object (in fact, it's a bytes array
var str = FromBytesToString(obj);
//str must be a string, computed from the obj
return str;
}
有人知道怎么做吗
提前感谢,
纪尧姆
编辑:某些精度:
1) 我使用以下代码调用windows应用程序(C#)中的javascript:
private string ExecuteScript(byte[] buffer)
{
//Load script (using StreamReader)
string script = LoadScript(@"C:\script.js");
//Parse script
ScriptEngine engine = new ScriptEngine("Jscript");
ParsedScript parsedScript = engine.Parse(script);
//Run script, calling "Main" method
return parsedScript.CallMethod("Main", buffer);
}
此代码使用脚本引擎代码,已找到。它使用Windows脚本引擎
2) Javascript代码
以下是javascript代码:
function Main(bytearray)
{
//Transform the bytearray in string
str = StringFromBytes();
//Do some stuff (replace/etc)
//sent back the new string
return str;
}
因此,问题在于参数“bytearray”是一个C#字节数组,javascript只知道它是一个对象。如果我使用以下方法:
function StringFromByte(array)
{
var b = array;
var s = "";
for (var i = 0; i < b.length; i++)
s += String.fromCharCode(b[i]);
return s;
}
函数StringFromByte(数组)
{
var b=数组;
var s=“”;
对于(变量i=0;i
第“s+=String.fromCharCode(b[i]);->行中显示的错误应为一个数字…您可以
var b = [0x61, 0x62, 0x63];
var s = "";
for (var i = 0; i < b.length; i++)
s += String.fromCharCode(b[i]);
s === "abc"
var b=[0x61、0x62、0x63];
var s=“”;
对于(变量i=0;i
如何在主函数中正确调用StringFromByte并将bytearray传递给它
function Main(bytearray)
{
//Transform the bytearray in string
str = StringFromBytes(bytearray); //<<<< this was missing
//Do some stuff (replace/etc)
//sent back the new string
return str;
}
主功能(bytearray)
{
//转换字符串中的字节数组
str=StringFromBytes(bytearray);//你从哪里得到这个字节数组?事实上,我的脚本是在一个C#应用程序中调用的(使用Windows脚本引擎)。然后初始化中的字节数组并填入C#Code它适用于你的示例,但不适用于我的对象。它说在“s+=String.fromCharCode(b[i]”行中需要一个数字).我认为问题在于这个对象是一个字节[]在C#中,作为参数传递,来自Windows Script Engine我假设您已经有了一个字节数组,对象是什么样子的?我假设它是一个对象,我不知道任何javascript方法来获取对象的类型:sGuillaume,当使用chrome/safari时,您可以使用控制台来检查对象由什么组成。AFAIK对于FireBug也是如此。console.dir(对象)将在f12调试控制台中打印其结构