C#去除byte数组头尾杂质(即不需要的数据)
代码如下:
/// <summary>
/// 去除byte数组头尾杂质(即不需要的数据)
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
//---------------------去除头杂质---------------------------------
byte[] listTemp = new byte[]
{
1, 2, 3, 4, 5, 6, 7, 8, 0x55, 0xaa, 6, 6, 6, 6, 6, 6, 6, 7, 7,
7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9,7,8,8,
1, 4, 3, 2, 4, 6, 7, 8, 9, 2, 1, 0x55, 0xaa, 1, 2, 3, 4, 6 ,2
}; int index = 0;
while (true)
{
if (listTemp[index] != 0x55 && listTemp[index++] != 0xaa)
index++;
else break;
}
byte[] listNew = new byte[listTemp.Length - index];
Array.Copy(listTemp, index, listNew, 0, listTemp.Length - index); int count = 10;
List<byte> finaly = new List<byte>();
int lastStart = listNew.ToList<byte>().LastIndexOf(0x55);
if (listNew[lastStart + 1] == 0xaa)
{
if ((listNew.Length) - (lastStart + 1) != count)
{
byte[] listFinaly = new byte[lastStart]; //listFinaly 此处数组就是剔除了头尾杂质的
Array.Copy(listNew, 0, listFinaly, 0, lastStart);
finaly = listFinaly.ToList<byte>();
}
}
Console.ReadLine();
}
C#去除byte数组头尾杂质(即不需要的数据)的更多相关文章
- java中byte数组,二进制binary安装chunk大小读取数据
int CHUNKED_SIZE = 8000; public void recognizeText(byte[] data) throws InterruptedException, IOExcep ...
- int跟byte[]数组互转的方法,整数 + 浮点型
整数: int转byte数组 public static byte[] intToBytes2(int n){ ]; ;i < ;i++) { b[i]=(-i*)); } return b; ...
- byte数组和正数BigInteger之间的相互转换
旧代码 public static void main(String[] args) { SecureRandom random = new SecureRandom(); byte[] key = ...
- go语言:多个[]byte数组合并成一个[]byte
场景:在开发中,要将多个[]byte数组合并成一个[]byte,初步实现思路如下: 1.获取多个[]byte长度 2.构造一个二维码数组 3.循环将[]byte拷贝到二维数组中 package gst ...
- byte数组和File,InputStream互转
1.将File.FileInputStream 转换为byte数组: File file = new File("file.txt"); InputStream input = n ...
- C# byte数组与Image的相互转换
功能需求: 1.把一张图片(png bmp jpeg bmp gif)转换为byte数组存放到数据库. 2.把从数据库读取的byte数组转换为Image对象,赋值给相应的控件显示. 3.从图片byte ...
- 透过byte数组简单分析Java序列化、Kryo、ProtoBuf序列化
序列化在高性能网络编程.分布式系统开发中是举足轻重的之前有用过Java序列化.ProtocolBuffer等,在这篇文章这里中简单分析序列化后的byte数组观察各种序列化的差异与性能,这里主要分析Ja ...
- 字符串与byte数组转换
string weclome=""; byte[] data = new byte[1024]; //字符串转byte数组 data = Encoding.ASCII.GetByt ...
- C# 将文件转化成byte[]数组
/// <summary> /// 将文件转换成byte[] 数组 /// </summary> /// <param name="fileUrl"& ...
随机推荐
- android:http下载文件并保存到本地或SD卡
想把文件保存到SD卡中,一定要知道SD卡的路径,获取SD卡路径: Environment.getExternalStorageDirectory() 另外,在保存之前要判断SD卡是否已经安装好,并且可 ...
- 【转】深入理解Java内存模型(五)——锁
锁的释放-获取建立的happens before 关系 锁是java并发编程中最重要的同步机制.锁除了让临界区互斥执行外,还可以让释放锁的线程向获取同一个锁的线程发送消息. 下面是锁释放-获取的示例代 ...
- 异步socket大并发实现
using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Net.So ...
- 《Linux内核分析》 week8作业-Linux加载和启动一个可执行程序
一.ELF文件格式 ELF(Executable and Linking Format)是x86 Linux系统下常用的目标文件格式,有三种主要类型: 适于连接的可重定位文件,可与其他目标文件一起创建 ...
- google protocol buffer -2-.proto 定义规则
essage为主要关键字,类似于java中的class.定义简单message类型 SearchRequest.proto定义了每个查询请求的消息格式,每个请求都会有查询关键词query,查询结果的页 ...
- JS浏览器关闭时清空cookie
function addCookie(objName,objValue,objHours){ var str = objName + "=" + escape(objValu ...
- jQuery的remove和detach的区别
1.remove([expr]) 概述:从DOM中删除所有匹配的元素. 这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素.但除了这个元素本身得以保留之外,其他的 ...
- memcache配置与使用
php100:73:MemCached高级缓存配置 Memcache相关介绍: memcache 是一个高性能的分布式的内存对象缓存系统,它能够存储各种各样的的数据,包括图片,视频,文件等等.缓存功能 ...
- Symfony2源码分析——启动过程1
本文通过阅读分析Symfony2的源码,了解Symfony2启动过程中完成哪些工作,从阅读源码了解Symfony2框架. Symfony2的核心本质是把Request转换成Response的一个过程. ...
- spark 监控--WebUi、Metrics System
Spark 监控相关的部分有WebUi 及 Metrics System; WebUi用于展示Spark 资源状态.Metrics System 整合的指标信息. Ui相关流程 Spark集群启动之后 ...