首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从byte*转换为byte []

从byte*转换为byte[]的方法如下:

  1. 首先,确定byte*的长度。
  2. 然后,创建一个新的byte[]数组,长度为byte*的长度。
  3. 使用Marshal.Copy()方法将byte*转换为byte[]数组。

以下是一个示例代码:

代码语言:csharp
复制
using System;
using System.Runtime.InteropServices;

class Program
{
    static void Main()
    {
        int length = 10;
        byte* bytePtr = (byte*)Marshal.AllocHGlobal(length);
        for (int i = 0; i< length; i++)
        {
            bytePtr[i] = (byte)i;
        }

        byte[] byteArray = new byte[length];
        Marshal.Copy((IntPtr)bytePtr, byteArray, 0, length);

        for (int i = 0; i< length; i++)
        {
            Console.WriteLine(byteArray[i]);
        }

        Marshal.FreeHGlobal((IntPtr)bytePtr);
    }
}

在这个示例中,我们首先创建了一个长度为10的byte指针,并将其初始化为0到9。然后,我们创建了一个长度为10的byte[]数组,并使用Marshal.Copy()方法将byte指针的内容复制到byte[]数组中。最后,我们打印出byte[]数组中的内容。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • byte 说起

    折腾的心,颤抖的手,只因在 main 函数中执行了一次 int 强 byte 的操作,输出结果太出所料,于是入坑,钻研良久,遂有此篇。   ...所以,根据上图高位舍弃的强后,你自己也可以看出来,最后得到的 byte 十进制表示数字 0 。嗯,似乎也就那么回事,还是很好理解,但是,沿用上面的图,我们换成 128 试试? ?    ...看草图,似乎也很简单,128强后,按照高位舍弃理论,无非是舍弃掉了高字节位无意义的 24 个 0 而已,最后的 byte 字节表示的还是原来那么大,还应该是 128 才对啊,为什么实际程序运行的结果却变成了...看了博主上面无头无脑的分析,相信你早已明白,长字节的数要往短了,直接强来,肯定是不行的。那就不呗,反正也很少遇到。NO,NO,NO!...直接强,超过范围的部分,肯定是装不下的,不过我们知道,一个 int 占用 4个 byte,换句话说,我们可以用一个长度为 4 的 byte数组来装: ?

    1.6K20

    byteFile一次看个够

    “赠人玫瑰,手有余香” --谚语 byte[]MultipartFile 错误示例-MockMultipartFile 首先来看一下摘自Spring官网对MockMultipartFile的一段描述...[]File byte[]File的实现方式更多一些,很多第三方高质量的轮子提供了均对应的方法,无需自行实现,调用API即可,下文以HuTool``与Apache Commons lang3举例。...前置条件-获取文件byte[] 以下代码本地读取文件并转为byte[]用于模拟业务逻辑。 /** * 将文件内容读取到字节数组中。...大小为文件的大小 ByteBuffer byteBuffer = ByteBuffer.allocate((int) fileChannel.size()); // 文件通道读取数据到...File,同样也可以转换为MultipartFile,那么MultipartFile与File之间的互转可以利用byte[]作为中间桥梁。

    23910

    netty bytebufbyte数组_netty udp

    网络传输的载体是byte,这是任何框架谁也逃脱不了的一种规定,JAVA的NIO提供了ByteBuffer,用来完成这项任务,当然ByteBuffer也很好的完成了这个任务,Netty也提供了一个名字很相似的载体叫做...ByteBuf,相比于ByteBuf而言,它有着更加更多友善的API,也更加易于维护,并且它可以扩容 一般来说,ByteBuf都是维护一个byte数组的,它的内部格式是长成这个样子的 * +...readerIndex (0) <= writerIndex (decreased) <= capacity discardReadBytes之后,可读段被移到了该内存空间的最左端,可写段空间容量来说...且与原缓冲区共享缓冲区 关于ByteBuf一些比较重要的API的认识就是这些,因为我目前还没有使用的一些心得,希望以后有机会分享 我们再来看看ByteBuf的继承关系图: 强行盗了三张图,不管是什么角度来分析...Bits.unreserveMemory(size, cap); throw x; } unsafe.setMemory(base, size, (byte

    2.9K10
    领券