2014-11-02 59 views
1

我期待這段代碼轉換爲C#:AS3 ByteArray的C#的bytearray

 var local1:ByteArray= new ByteArray(); 
     var auth:String = root.loaderInfo.parameters.auth as String; 
     var key0:String = root.loaderInfo.parameters.key0 as String; 
     var key1:String = root.loaderInfo.parameters.key1 as String; 
     var key2:String = root.loaderInfo.parameters.key2 as String; 
     var key3:String = root.loaderInfo.parameters.key3 as String; 


     local1.writeUnsignedInt(parse(auth)); 
     local1.writeUnsignedInt(parse(key0)); 
     local1.writeUnsignedInt(parse(key1)); 
     local1.writeUnsignedInt(parse(key2)); 
     local1.writeUnsignedInt(parse(key3)); 
     trace(local1) 

你看我怎麼直接打印的字節數組,而不將其轉換爲字符串。你怎麼能在c#中做到這一點?假設打印出如下內容:TV〜3 R j i

回答

0

如果數組包含可以解釋爲字符代碼的內容,則可以將字節解碼爲文本。例如:

string localText = Encoding.Default.GetString(local1); 

要使用的編碼取決於文本如何轉換爲字節。

您可以使用MemoryStreamBinaryWriter將整數放入數組中。例如:

string auth = "1"; // example data, would come from your object 
string key0 = "2"; 

byte[] local1; 
using (MemoryStream m = new MemoryStream()) { 
    using (BinaryWriter w = new BinaryWriter(m)) { 
    w.Write(Int32.Parse(auth)); 
    w.Write(Int32.Parse(key0)); 
    } 
    local1 = m.ToArray(); 
} 

foreach(var g in local1) 
{ 
    Console.WriteLine((char)g); 
} 
+0

所有進入字節數組的數字都被轉換爲無符號整數。 var auth:String和其他字符串 – Mark 2014-11-02 19:37:57

+0

@Mark:我明白了。我添加了將整數放入字節數組的示例代碼。 – Guffa 2014-11-03 00:51:10

+0

謝謝我讓它工作。不得不使用字符串g =(char)字節; – Mark 2014-11-03 21:12:28