为了账号安全,请及时绑定邮箱和手机立即绑定

计算二进制文件中字节模式的出现次数

计算二进制文件中字节模式的出现次数

C#
幕布斯6054654 2022-07-10 16:27:55
我希望我的程序读取二进制文件的十六进制值并计算出现的“45”,现在停留在计数字节模式上。public static byte[] GetOccurrence(string dump){    using (BinaryReader b = new BinaryReader(new FileStream(dump, FileMode.Open)))    {        bufferB = new byte[32];        b.BaseStream.Seek(0x000000, SeekOrigin.Begin);        b.Read(bufferB, 0, 32);        return bufferB;    }}  bufferA = GetOccurrence(textOpen.Text);   // textOpen.Text is the opened file// bufferA now stores 53 4F 4E 59 20 43 4F 4D 50 55 54 45 52 20 45 4E 54 45 52 54 41 49 4E 4D 45 4E 54 20 49 4E 43 2E// trying to count occurrence of '45' and display the total occurrence in textbox
查看完整描述

1 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

您可以遍历数组中的每个元素,并在每次找到值 45 时进行计数。或者您可以使用 LINQ Count 并获得相同的结果。


在这里,我做了两种实现:


        var bufferA = new byte[] { 53, 0x4F, 0x4E, 59, 20, 43, 0x4F, 0x4D, 50, 55, 54, 45, 52, 20, 45, 0x4E, 54, 45, 52, 54, 41, 49, 0x4E, 0x4D, 45, 0x4E, 54, 20, 49, 0x4E, 43, 0x2E };

        //Using LINQ

        var numOfRepetition = bufferA.Count(x=> x== 45);


        //Using a foreach loop

        var count = 0;

        foreach(byte number in bufferA)

        {

            if(number == 45)

            {

                count++;

            }

        }

在这两种实施方式中,数字 45 都重复了 4 次。


查看完整回答
反对 回复 2022-07-10
  • 1 回答
  • 0 关注
  • 109 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信