c# 读取二进制文件并以16进制报文显示出来

//新建一个文件对话框
OpenFileDialog pOpenFileDialog = new OpenFileDialog();

//设置对话框标题
pOpenFileDialog.Title = "打开二进制文件";

//设置打开文件类型
pOpenFileDialog.Filter = "bin文件(*.*)|*.*";

//监测文件是否存在
pOpenFileDialog.CheckFileExists = true;

//文件打开后执行以下程序
if (pOpenFileDialog.ShowDialog() == DialogResult.OK)
{

System.IO.Path.GetFullPath(pOpenFileDialog.FileName); //绝对路径
System.IO.Path.GetExtension(pOpenFileDialog.FileName); //文件扩展名
System.IO.Path.GetFileNameWithoutExtension(pOpenFileDialog.FileName);//文件名没有扩展名
System.IO.Path.GetFileName(pOpenFileDialog.FileName); //得到文件
System.IO.Path.GetDirectoryName(pOpenFileDialog.FileName);                  //得到路径

}

FileStream inStream = new FileStream(pOpenFileDialog.FileName,FileMode.Open,FileAccess.Read);
long nBytesToRead = inStream.Length;
buffer = new byte[nBytesToRead];
int m=inStream.Read(buffer,0,buffer.Length);

inStream.Close();

//显示到richtextbox1 控件中,并且用  隔开

richTextBox1.Clear();
for(int i=0;i<buffer.Length;i++)
{
richTextBox1.AppendText(buffer[i].ToString("X2")+" ");
}

原文地址:https://www.cnblogs.com/mainmaster/p/12002714.html

时间: 2024-10-11 12:35:06

c# 读取二进制文件并以16进制报文显示出来的相关文章

读取16进制文件和校验图片格式的问题。 文件名后缀

概要: 前段时间,要做这样一个校验:当不符合要求的文件,通过修改文件后缀名后,仍然不允许上传. 我想这是大家经常会遇到的一个校验问题.我才用的办法是:用16进制读取文件头部(不妨成为head),比较head和常见文件头部16进制编码,进行判断. 我个人认为,这个校验方法有弊端,例如当两中不同的文件的文件头编码一样时,一种符合上传要求,一种不符合上传要求,起不到校验功能,例如office 2007和zip. 但是这个方法还是很实用的,毕竟文件头一样的不同文件总是不多的,而且在网站上传是碰到的就更少

Python中读取到16进制数如何转成有符号数值

场景:用Python模拟设备做 Modbus TCP 协议时,读取到的寄存器值是S16(有符号16进制数),如何能得到正确的负数值呢? 代码如下: def get_s16(val): if val < 0x8000: return val else: return (val - 0x10000) 解释:由于Python不是强类型的语言,对于数据的值的大小没有严格的限制,所以可以直接通过做减法来获得正确的负数值.如果是其他的强类型语言,就需要按照负数补码原理来获取到高位符号位值后再取反处理,获得正

16进制文件转化对比

做通讯项目的时候,经常要进行数据收发校验.发送端的数据通过复杂的通讯系统(例如OFDM系统),依次进行交织.编码(LDPC).映射.IFFT.串并转换……等等,达到接收端,我们只有通过反复的对比才能验证流程的正确性.因为数据的收发都是比特流,所以经常使用16或者二进制文件进行比较. 很多调试工具都支持数据导出,由于某些原因他们支持的导出格式各不相同.例如:code composer studio支持比较全面,但是NIOS II  IDE数据格式只支持16进制导出,quarutus ii等支持也各

C# 中2,10,16进制及其ASCII码之间转化

C# 中2,10,16进制及其ASCII码之间转化             --------//C#中各种字符类型的转化,使用于串口通信------------ //字符长度的理解            string s = "我是一个2兵";            int len = s.Length;//6个字符              byte[] sarr = System.Text.Encoding.Default.GetBytes(s);            len =

串口调试助手-发送数据,按字符或16进制显示接收数据的C#程序

一. 新手上路,一般几种方法来学习VS2010的C#编程: 1.查阅各种书籍和技术文档,传统而耗时: 2.借助视频教程快速上手,省事有效却无法掌握一些小细节,写起程序来,各种调试不通过,还是浪费时间: 3.直接采用网络大神的程序,在运行成功的前提下,再仔细消化各种精髓,方法虽然高效,但也是建立在作者编写文档友好的情况下. 对于以上的第一种适合那种不着急项目进度,只管自己开心满足自己兴趣的新手,第二种适合那种需要赶进度.不需要太注意小细节的项目,第三种属于技术渣,为了像我这种技术渣的新手们上路更轻

十进制转换成二进制以 二进制转换成 8进制和16进制

十进制转换成二进制 举例:752(十进制数) --> 转换成 二进制数 从下往上 读取数据 二进制数为 : 011110000 2.二进制转换成8进制 (开头用 0 表示) 111 -> 表示的十位数 为 7,也是 8进制 每位上 最大的数字 011110000 转换为  8进制 ,从右到左  ,三位 隔开      011-110-000 , 3.二进制转换成16进制(开头用0x表示) 与 二进制转换 大体相同,区别在于 , 在二进制数中,每四位数隔开 ,再分别计算 得到十进制 ,再 进行

Notepad++ 16进制编辑功能

Notepad++可以编辑PE文件(二进制文件即HEX码),2进制.16进制都可以,通过附加的组件HexEditor即可实现. Hex Editor下载  Hex Editor下载页面,包括各个历史版本和源代码,UNI.ANSI等 http://sourceforge.net/projects/npp-plugins/files/Hex%20Editor/ Hex Editor使用说明 解压缩后把HexEditor.dll文件复制到安装目录(如C:\Program Files\Notepad++

Silverlight中16进制颜色转ARGB及Color转Int32

16进制色字符串转ARGB      做Web的都喜欢用16进制字符串标识颜色,比如"#F5F5F5"这类的,自然这个到了Silverlight/WPF中就要用ARGB表示:"#FFF5F5F5"(前两位标识Alpha,即透明度).这在XAML中没有任何问题,可是如果我们想在代码中设置颜色呢,或者是从XML中读取的相关值呢? 这里提供一个代码片段,帮助我们将16进制字符串转为ARGB色 /// <summary> /// color扩展方法, /// &

Arduino 数码管LED驱动 读位法 16进制

区别与上两个驱动的方法,用bitRead()读取位数,代码简介一点. //设置阴极接口 int d1 = 1; int d2 = 2; int d3 = 3; int d4 = 4; int d5 = 5; int d6 = 6; int d7 = 7; //设置阳极接口 int a = 8; int b = 9; int c = 10; int d = 11; int e = 12; int f = 13; int g = A0; int h = A1; const unsigned char