结构体中包含string数组转byte[]失败,这是为什么?
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
struct Student
{
public int number;
[MarshalAs(UnmanagedType.LPArray, SizeConst = 5)]
public String[] name;
}
转换函数为:
public static byte[] StructToBytes(object structObj)
{
int size = Marshal.SizeOf(structObj);
byte[] bytes = new byte[size];
IntPtr structPtr = Marshal.AllocHGlobal(size);
Marshal.StructureToPtr(structObj, structPtr, false);
Marshal.Copy(structPtr, bytes, 0, size);
Marshal.FreeHGlobal(structPtr);
return bytes;
}
总是显示int size = Marshal.SizeOf(structObj);这行错误,求指教
struct Student
{
public int number;
[MarshalAs(UnmanagedType.LPArray, SizeConst = 5)]
public String[] name;
}
转换函数为:
public static byte[] StructToBytes(object structObj)
{
int size = Marshal.SizeOf(structObj);
byte[] bytes = new byte[size];
IntPtr structPtr = Marshal.AllocHGlobal(size);
Marshal.StructureToPtr(structObj, structPtr, false);
Marshal.Copy(structPtr, bytes, 0, size);
Marshal.FreeHGlobal(structPtr);
return bytes;
}
总是显示int size = Marshal.SizeOf(structObj);这行错误,求指教
...全文
相关推荐
c#中string转换成字节byte的处理方法
### 二、String转Byte[]当需要将整个字符串转换为一系列字节时,通常会使用 `System.Text.Encoding` 类来完成这一任务。
读取Java文件到byte数组的三种方法(总结)
本文将介绍三种读取Java文件到byte数组的方法,供开发者参考。
java中String与十六进制String及byte之间的转换
byte[]转String则通过new String(byte[], Charset)构造函数完成,二者必须使用相同字符集才能保证往返转换无损。
Java中char[] 和 String 类型占用字节大小问题
问题 4: 转码问题,GBK 转 UTF-8 时,字节占用会变大吗?如果我们将一个 String 类型的变量从 GBK 编码转换到 UTF-8 编码,那么字节占用会变大吗?答案是肯定的。
js中string转int把String类型转化成int类型
标题中提到的知识点是“在JavaScript中将String类型转换为int类型”,这个过程在编程实践中是非常常见的,因为有时候数据的输入或者接口数据的返回值可能是字符串格式,而我们需要将它转换成整数进行后续的计算或者操作


