2012-03-13 26 views
1

バイト配列をJavaScriptで文字列に変換しようとしています。しかし、まず、オブジェクトをバイト配列にキャストする必要があります。ここで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; 
} 

誰もがそれを行う方法のアイデアを持って?事前に

おかげで、

ギヨーム

EDIT:いくつかの精度:

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); 
    } 

このコードではScriptEngineコードを使用して、hereを見つけました。

function Main(bytearray) 
{ 
    //Transform the bytearray in string 
    str = StringFromBytes(); 
    //Do some stuff (replace/etc) 

    //sent back the new string 
    return str;  
} 

問題は、引数はC#のバイト配列である "BYTEARRAY"、およびJavaScriptがそれを知っているようである:それはここに)Javascriptコード

はjavascriptのコードである

2 Windowsのスクリプトエンジンを使用していますオブジェクトとしてのみ。私は、以下の方法を使用する場合:線で示さにおける

function StringFromByte(array) 
{ 

    var b = array; 
    var s = ""; 
    for (var i = 0; i < b.length; i++) 
     s += String.fromCharCode(b[i]); 

    return s; 
} 

エラー「S + =に、String.fromCharCode([I] B); - >数が予想され...

+0

あなたは? –

+0

からそのバイト配列を取得しますuはFを試してみましたromCharCode()?? – vireshas

+0

実際、私のスクリプトはC#アプリケーション(Windowsスクリプトエンジンを使用)で呼び出されます。その後、バイト配列が初期化され、C#コード – Guillaume

答えて

0

ことができます。

主な機能のStringFromByte程度の適切な呼び出しがそれに敬遠しがちのByteArrayを渡す方法
var b = [0x61, 0x62, 0x63]; 
var s = ""; 
for (var i = 0; i < b.length; i++) 
    s += String.fromCharCode(b[i]); 

s === "abc" 
+0

で埋め込まれます。サンプルでは動作しますが、オブジェクトでは動作しません。私はこの問題は、このオブジェクトがWindows Script Engineから引数として渡されたC#のバイト[]であるという事実から来ていると思います。 – Guillaume

+0

私はあなたがすでにバイトの配列を持っていると仮定しましたが、オブジェクトの外観はどうですか? –

+0

オブジェクトであると仮定します。オブジェクトの型を取得するjavascriptメソッドはわかりません: – Guillaume

0

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;  
} 
関連する問題