- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要在 .NET 中解析二进制流以转换 16 字节无符号整数。我想使用 BinaryReader.ReadUIntXX() 函数,但没有可用的 BinaryReader.ReadUInt128() 函数。我假设我将不得不使用 ReadByte 函数滚动我自己的函数并构建一个数组,但我不知道这是否是最有效的方法?谢谢!
最佳答案
我很乐意将此归功于此,但只要快速搜索一下网络,中提琴:
http://msdn.microsoft.com/en-us/library/bb384066.aspx
这是代码示例(位于同一页面上)
byte[] bytes = { 0, 0, 0, 25 };
// If the system architecture is little-endian (that is, little end first),
// reverse the byte array.
if (BitConverter.IsLittleEndian)
Array.Reverse(bytes);
int i = BitConverter.ToInt32(bytes, 0);
Console.WriteLine("int: {0}", i);
// Output: int: 25
大多数开发人员唯一不知道的是大端和小端之间的区别。就像生活中的大多数事情一样,人类根本无法就非常简单的事情达成一致(左手和右手汽车也是一个很好的例子)。当位(记住 1 和 0 以及二进制数学)被布置时,位的顺序将决定字段的值。一个字节是八位..然后是有符号和无符号..但让我们坚持顺序。数字 1(一)可以用两种方式之一表示,10000000 或 00000001(详细解释请参阅注释中的说明)- 正如代码中的注释所暗示的那样,big-endian 是前面的那个,litte -endian 是零。 (参见 http://en.wikipedia.org/wiki/Endianness - 对不起新用户,他们不会让我超链接不止一次....)为什么我们不能都同意???
我多年前在处理嵌入式系统时吸取了这个教训……还记得链接吗? :) 我是不是暴露年龄了??
关于c# - 如何使用 BinaryReader 正确读取 16 字节无符号整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3007055/
我在搜索 BinaryReader.Skip 函数时遇到了这个 feature request on msdn .他说您可以通过使用它来提供自己的 BinaryReader.Skip() 函数。 只看
我有一个基于套接字的应用程序,它使用 BinaryReader 公开接收到的数据客户端的对象。我一直在尝试调试读取器中包含的数据不干净的问题......即我正在读取的缓冲区包含超过新数据大小的旧数据。
Controller : private readonly Dictionary streams; public ActionResult Upload(string qqfile,
我想尝试基本的文件加密和压缩,所以我的第一个问题是 ByteReader 是否是适合该作业的正确阅读器?我的第二个最重要的问题是:使用二进制阅读器时如何循环直到文件末尾?有没有办法像 How read
我需要将 int 数组作为二进制写入输出文件,并在 C++ Linux 的程序中将二进制数据作为 int 读取,类似于 C# 中的 BinaryReader 和 BinaryWriter。我怎样才能做
我正在做家庭作业,但完全卡住了!我想要做的是使用已经定义的输入并使用 saveDataTo() 方法将其保存到文件中,然后使用 readDataFrom() 方法读取输入。 我卡在了第一部分。我不确定
我目前正在编写一个缓存 BaseStream.Position 和 BaseStream.Length 属性的 BinaryReader。这是我目前所拥有的: public class FastBin
我正在使用以下代码序列化数据表中的数据。 var rows = new List>(); 我正在填充 DataTable 中的行并将它们放入字典中。不要问为什么:) using(var fileStr
我正在开发一个解析器来接收 UDP 信息、解析它并存储它。为此,我使用了 BinaryReader,因为它主要是二进制信息。其中一些将是字符串。 MSDN says对于 ReadString() 函数
案例: 再次尝试通过我的 NIC 捕获数据包, 我开发了 2 个扩展用于捕获可变位数 public static string ReadBits ( this BinaryReader Key
当使用 System.IO.BinaryReader 读取二进制文件时,使用任何多字节读取方法时字节顺序似乎不受影响。 BinaryReader br = new BinaryReader(fs, S
我写了下面的方法来使用二进制模式将文件归档到一个文件中: // Compile archive public void CompileArchive(string Fi
我有一个二进制字节数组。在 C# 中,使用 BinaryReader 和 ReadInt32 读取它非常容易(这正是我所需要的)。像这样: reader = new BinaryReader ( ne
我正在继承 BinaryReader 类。 我必须覆盖一些基本方法,例如 ReadUInt16 . 该方法的内部实现是: public virtual ushort ReadUInt16(){
在 C、C++ 中,如果您以二进制方式写入一个整数(例如 fwrite(&someInt,sizeof(int),1,fp))说到文件,您有很多问题需要考虑你想从不同的机器上读取那个整数——例如,字节
BinaryReader 没有 EndOfStream 属性。使用以下代码检查是否已到达流结尾是否安全? reader.BaseStream.Length>reader.BaseStream.Posi
我继承了一些循环通过 BinaryReader 的响应的代码,并且它在一段时间内工作正常(返回 2 个字节),但是客户端需要一段时间才能响应(我假设)并且代码失败进入捕获逻辑。 我找不到任何关于 Re
我想弄清楚我在这里做错了什么。我正在尝试使用 Binary Reader 来轻松地将流中的初始四个字节转换为 Int32 值,该值告诉我其余数据的预期长度。 static void Main(stri
我正在尝试解压缩字节数组并使用二进制读取器将其转换为字符串。执行以下代码时,inStream位置从0变为数组长度,但str始终为空字符串。 BinaryReader br = null; string
我认为 BinaryReader.ReadChars() 方法存在问题。当我在原始套接字 NetworkStream 周围包装 BinaryReader 时,偶尔会出现流损坏,其中正在读取的流不同步。
我是一名优秀的程序员,十分优秀!