社区
C#
帖子详情
C#里怎样将Big Endian 转换为 Little Endian的字节读取顺序?
ArcJeremy
2005-04-08 01:40:34
我在读一个文件头的时候发现有些字段是Big Endian顺序的(都为int或double型)
想把它转换为Little Endian的读取顺序,不知道.net 类库里有没有相关的类方法之类的还是只能老老实实自己写一个?
...全文
853
8
打赏
收藏
C#里怎样将Big Endian 转换为 Little Endian的字节读取顺序?
我在读一个文件头的时候发现有些字段是Big Endian顺序的(都为int或double型) 想把它转换为Little Endian的读取顺序,不知道.net 类库里有没有相关的类方法之类的还是只能老老实实自己写一个?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
owe
2005-04-13
打赏
举报
回复
//读取一个Int32型
private int ReadIntByByte( BinaryReader bReader)
{
byte[] b = new byte[4];
for(int i = 3; i >= 0; i--)
{
b[i] = bReader.ReadByte();
}
return BitConverter.ToInt32(b, 0);
}
demonfox
2005-04-13
打赏
举报
回复
是吗?我没有亲自试过,你有测试文件么?发一个给我,我试试看:
yin_hu@msn.com
ArcJeremy
2005-04-13
打赏
举报
回复
TO:demonfox(坐井观天)
我在MSDN里也查到了这个方法,但是好像不行。不知道是我的系统问题还是什么不管我用Unicode文本文件还是二进制文件都还是以Little Endian的方式读。
TO:xiaohaige(无聊聊)
这个方法不错也很方便,调试也通过了。不过我还有Double类型的,MSDN里介绍好像只支持short,int,long这三个类型。
wjcking
2005-04-09
打赏
举报
回复
up
demonfox
2005-04-09
打赏
举报
回复
可以的,只要是2个bytes的倍数就可以(就是偶数个bytes,int和double都是4bytes),如果是ASCII Code(1个byte),就不行了。
xiaohaige
2005-04-08
打赏
举报
回复
用IPAddress的HostToNetworkOrder和NetworkToHostOrder
ArcJeremy
2005-04-08
打赏
举报
回复
我读的是二进制文件,里面都是int或者double类型~
这样行吗?
demonfox
2005-04-08
打赏
举报
回复
直接作为BigEndian读进来。不过下面的方法只能用于Unicode编码:
System.Text.Encoding encoding = System.Text.Encoding.BigEndianUnicode;
StreamReader reader = new StreamReader("TextFile.txt", encoding);
string line = reader.ReadLine();
while (line != null)
{
Console.WriteLine(line);
line = reader.ReadLine();
}
用于将Modbus通信中截取后四
字节
的十六进制数
转换
为单精度浮点数(源码)
在实际应用中,处理Modbus通信数据时,可能需要考虑到不同设备的
字节
序问题(
Li
ttle
-
endian
或
Big
-
endian
),确保正确解读截取的数据。同时,如果数据截取错误或者超出浮点数的表示范围,可能会导致
转换
异常或溢出...
C#
串口通讯截取4位
字节
数据16进制转浮点型输出
注意,数组的排列
顺序
必须遵循计算机系统的
字节
序(
Li
ttle
-
Endian
或
Big
-
Endian
),通常Windows系统默认为
Li
ttle
-
Endian
。 这个程序的完整实现还可能包括错误处理、数据校验、多线程同步等复杂性,但上述代码已经...
C#
读写SHAPEFILE
可以使用以下函数将
Big
顺序
转换
为
Li
ttle
顺序
: ```csharp int
Big
2
Li
ttle
Endian
(int num) { int reverse; char bit0, bit1, bit2, bit3; bit0 = (num & 0x000000ff); bit1 = (num & 0x0000ff00) >> 8; ...
c#
汉字乱码处理
return Encoding.
Big
Endian
Unicode; // 如果没有BOM,则根据文件内容进一步判断 // 此处省略了更复杂的编码判断逻辑 // 实际应用中可能需要使用更完整的库,如ICU或Chardet } // 如果无法确定编码,则返回...
C#
将
字节
数组
转换
成数字的方法
本文将详细介绍如何在
C#
中将
字节
数组
转换
为数字,特别是
转换
为`decimal`类型的数值。 首先,让我们了解
字节
数组与数字
转换
的基本概念。在
C#
中,数字类型如`int`、`float`、`double`和`decimal`等都有其特定的二进制...
C#
111,098
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章