void MarshalChartDemo()
{
string name = "xuwei";
IntPtr pName = Marshal.AllocHGlobal(name.Length);
Marshal.Copy(name.ToCharArray(), 0, pName, name.Length);
char[] cName = new char[name.Length];
Marshal.Copy(pName, cName, 0, name.Length);
}
void MarshalByteDemo()
{
string name = "xuwei";
var nameBytes = Encoding.Default.GetBytes(name);
IntPtr pName = Marshal.AllocHGlobal(nameBytes.Length);
Marshal.Copy(nameBytes, 0, pName, name.Length);
byte[] cName = new byte[nameBytes.Length];
Marshal.Copy(pName, cName, 0, nameBytes.Length);
string temp = Encoding.Default.GetString(cName);
}
原文:https://www.cnblogs.com/zhoushiya/p/12107846.html