C# byte[] 如何转换成byte*
目标:将byte[]转成byte*以方便使用memcpy
[DllImport("kernel32.dll", EntryPoint = "RtlCopyMemory", CharSet = CharSet.Ansi)]
public extern static long CopyMemory(IntPtr dest, IntPtr source, int size);
private void butTemp_Click(object sender, EventArgs e)
{
unsafe
{
byte[] by1 = new byte[4] { 1, 2, 3,4 };
IntPtr tempMemoryPointer = Marshal.AllocHGlobal(4);
fixed (byte* converted = by1)
{
CopyMemory(tempMemoryPointer, new IntPtr(converted), 4);
}
byte* p1 = (byte*)tempMemoryPointer.ToPointer();
//此时p[0]到p[3]分别为: 1 2 3 4
}
}
扩展目标:取int的地址以使用memcpy
private void butTemp_Click(object sender, EventArgs e)
{
unsafe
{
int iTmp = 0x11223344;
IntPtr tempMemoryPointer = Marshal.AllocHGlobal(4);
int* converted = &iTmp;
CopyMemory(tempMemoryPointer, new IntPtr(converted), 4);
byte* p1 = (byte*)tempMemoryPointer.ToPointer();
//此时p[0]到p[3]分别为: 0x44 0x33 0x22 0x11
}
}
测试环境
win7 + VS2022
C# byte[] 如何转换成byte*的更多相关文章
- Map 转换成byte[] 数组
把Map转换成byte数组,使用 ByteArrayOutputStream和ObjectOutputStream Map<String,String> map = new HashMap ...
- 获取网络图片并显示在picturbox上,byte[]数组转换成Image:
private void getWebPicture_Click(object sender, EventArgs e) { WebRequest request = WebRequest.Creat ...
- 将文件转换成byte[]数组
代码 /// <summary> /// 将文件转换成byte[] 数组 /// </summary> /// <param name="fileUrl&quo ...
- PHP实现INT型,SHORT型,STRING转换成BYTE数组
实现PHP实现INT型,SHORT型,STRING转换成BYTE数组的转化: class Bytes { public static function integerToBytes($val) { $ ...
- 浅谈ByteBuffer转换成byte[]时遇到的问题
有些时候我们要把ByteBuffer转换成byte[]来使用.于是很多时候会用以下代码来转换: ByteBuffer buf; .....(一些往buffer写数据的操作) byte[] bs= ne ...
- 将文件File转换成byte数组
代码如下: /** * 将文件转换成byte数组 * @param filePath * @return */ public static byte[] File2byte(File tradeFil ...
- JAVA将文件转换成byte数组(byte[])
/** * 将文件转换成byte数组 * @param filePath 文件File类 通过new File(文件路径) * @return byte数组 */ public static byte ...
- 将四个BYTE数值转换成IEEE754标准的浮点数(两种方法:用Addr函数取字节数字的首地址,或者用Absolute关键字)
在工作中,经常使用到IEEE754格式的数据.IEEE754格式的数据占四个字节,好像Motorola格式和Intel格式的还不一样. 由于工作中很少和他打交道(使用的软件内部已经处理),就没太在意. ...
- C#字节图片互转、字节转换图片、图片转换字节、byte[]转换图片、图片转换成byte[]
原文地址:http://www.cnblogs.com/wifi/articles/3522773.html /// <summary> /// 图片转换成字节流 /// </sum ...
- C# byte数组转换成List<String>
byte[] bys=buffer; string[] AllDataList= Encoding.Default.GetString(bys).Split(Environment.NewLine. ...
随机推荐
- Lebesgue Measure and Lebesgue integral
Citation : Lee, JeongHwan, "MEASURE AND INTEGRATION" (2021). Electronic Theses, Projects, ...
- freeswitch笔记(9)-esl outbound中如何放音采集按键?
关于这个功能,esl-client 上给出的源码示例极具误导性,根本跑不起来,见: https://github.com/esl-client/esl-client/blob/master/src/t ...
- CentOS7:ifconfig command not found解决-九五小庞
首先判断一下是不是缺少了ifconfig,它是在/sbin目录下的 [root@localhost ~]# cd /sbin查看一下是否有 ifconfig [root@localhost sbin] ...
- 进阶篇:3.1.1.4)DFM注塑-热熔
本章目的:了解塑胶件热熔装配方式的设计要点. 1.热熔的概念和原理 热熔是塑胶件与塑胶件或与其他零件,如金属件.印制电路板等进行装配的一种方法.热熔的原理:在塑胶件上有称为热熔柱的局部凸起,在需装配的 ...
- Win11系统更新错误0xc1900101的问题
win11系统是非常火热的电脑操作系统,很多电脑基地的用户都体验过Win11的新功能,但是有一位用户在更新win11系统时遇到了更新错误0xc1900101的情况,这可能是因为系统出现了一些问题,大家 ...
- 如何用 mc 对 RustFS 进行存储桶的创建和查询?
mc(minio client)是一个与 Minio 对象存储服务兼容的命令行工具,能够对 minio 进行操作,诸如文件的上传.下载.删除等.由于 RustFS 是 MinIO 的国产替代,因此可以 ...
- AX-MES生产制造管理系统-可视化看板
可视化看板最主要的目的是为了将生产状况透明化,让大家能够快速了解当前的生产状况以及进度,通过大数据汇总分析,为管理层做决策提供数据支撑,看板数据必须达到以下基本要求: 数据准确--真实反映生产情况 数 ...
- [SDR] 基于两个 hackrf 实现连续波测速雷达
目录 效果展示 一.雷达背景知识 1.1 按照频段划分 1.2 按照功能划分 二.环境构建 三.实验尝试 四.进阶优化 五.完整操作 参考链接 效果展示 一.雷达背景知识 1.1 按照频段划分 频段分 ...
- MyEMS能源管理系统后台配置-能源分类管理
MyEMS开源能源管理系统适用于建筑.工厂.商场.医院.园区的电.水.气等能源数据采集.分析.报表,还有光伏.储能.充电桩.微电网.设备控制.故障诊断.工单管理.人工智能优化等可选功能. 本文介绍管理 ...
- 学习笔记:java的字符串数组String[] args
目录 1. 基本概念 2. 命令行传参示例 3. 参数传递规则 4. 注意事项 总结 在Java中,String[] args 是main方法的参数,用于从命令行接收输入参数.这是Java程序接收外部 ...