在c++中定义字符串类型一般是char* 或者 char[],在c#中不能直接用char接受,在c# 中 char占2个字节,而c++占1个字节。也不能直接用byte类型去接。byte虽然占1个字节,但是是无符号类型。所以必须用sbyte去接。
</pre><p></p><p></p><p><pre name="code" class="csharp">public string SbyteArrayToString(sbyte[] data){
byte[] bytes=SbyteToByte(data);
string ss= Encoding.Default.GetString(bytes);
return ss;
}
public byte[] SbyteToByte(sbyte [] sd){
byte[] dest = Array.ConvertAll(sd, (a) => (byte)a);
return dest;
}