C#实现二进制数据转换成十进制?

hanshihong3410880 2011-05-09 07:20:52
txt文件中存的是二进制数据,每个数据由四个字节构成,并且是float格式。如果直接打开文件是乱码,现在要想把这个文件中的数据读出来,按照一般的方法,如:binaryreader读取,那么出来的十进制数据是不对的,因为没有按照每四个字节转换成一个数。所以现在面临的问题是必须每次读取四个字节,然后把这四个字节转换成十进制。
我现在面临的问题是,如何从文件中每次读取四个字节,然后再把这四个字节转换成十进制?
请各位朋友帮忙相助!
...全文
447 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
独孤侠客 2012-04-15
  • 打赏
  • 举报
回复
楼主你好,我也在弄这方面的,C#初学者,能给个关键程序参考吗?本人QQ1053387324,可以发邮箱,或者加QQ感激不尽。
独立级IT民工 2011-05-10
  • 打赏
  • 举报
回复

FileStream fs = new FileStream(filePath, FileMode.Open);
BinaryReader br = new BinaryReader(fs, Encoding.GetEncoding("gb2312"));
string File_Head = Encoding.Default.GetString(br.ReadBytes(10));
if (File_Head.Length > 0)
{
for (int j = 0; j < fs.Length; j++)
{
use_billTemp.room_id = br.ReadBytes(4);
}
}

紫寒尺 2011-05-09
  • 打赏
  • 举报
回复
尝试用代码加亮~~
紫寒尺 2011-05-09
  • 打赏
  • 举报
回复
for (int i = 0; i < byData.Length; i+=4)
{
for(int j=0;j<4;j++)
{
strData += " " + byData[i+j];
}
}
我姓区不姓区 2011-05-09
  • 打赏
  • 举报
回复
for (int i = 0; i < byData.Length; i+=4)
{
for(int j=0;j<4;j++)
{
strData += " " + byData[i+j];
}
}
hanshihong3410880 2011-05-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 kudoran 的回复:]
是用字节流读吧,然后读出来是字节数组吧?字节数组就4个为一组循环处理不就行了么?
[/Quote]
我这样编的程序byte[] byData = new byte[10];
FileStream aFile = new FileStream("D:\\1234.txt", FileMode.Open);
aFile.Seek(0, SeekOrigin.Begin);
aFile.Read(byData, 0, 10);
string strData = "";
for (int i = 0; i < 4; i++)
{

strData += " " + byData[i];

}

textBox2.Text = strData;
这样的话每次读取的是一个字节 所以转换过来的话,也是一个字节的数据。 我想让字节数中每次读取四个字节,改怎么写?
KudoRan 2011-05-09
  • 打赏
  • 举报
回复
是用字节流读吧,然后读出来是字节数组吧?字节数组就4个为一组循环处理不就行了么?

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧