0
我有一個可以從IronPython調用的c#函數。該函數返回一個字節數組,我想將其轉換爲字符串以進行顯示和比較。如何從IronPython中檢索c#字節數組(Byte [])?
Python是告訴我通過輸入參數 - (出字節[]數據出),下面 - 類型 「StrongBox的[數組[字節]]」,所以我轉換 「VAR」 與
clr.Reference[Array[Byte]]() .
如何將其轉換爲字符串?
namespace My_Library.My_Namespace
{
/// </summary>
public class My_App : OSI_Layer
{
public bool My_Function(out Byte[] DataOut)
{
// fill up DataOut with a string
return (Send(out DataOut));
}
// etc...
}
}
//////////////////////////
//
// IronPython
//
// From IronPython I...
>>>
>>> import clr
>>> clr.AddReferenceToFileAndPath('My_Library.dll')
>>> from My_Library.My_Namespace import My_App
>>> App = My_App()
>>>
>>> from System import Array, Byte
>>> var = clr.Reference[Array[Byte]]() # Create type StrongBox[Array[Byte]]"
>>>
>>> clr.Reference[Array[Byte]]
<type 'StrongBox[Array[Byte]]'>
>>>
>>> App.My_Function(var)
>>>
True
>>> var
<System.Byte[] object at 0x000000000000002B [System.Byte[]]>
>>>
>>> printable_var = System.BitConverter.ToString(var)
Traceback (most recent call last): File "", line 1, in TypeError: expected Array[Byte], got StrongBox[Array[Byte]]