c# 字节数组网路传输转义
时间:2020-05-09
本文章向大家介绍c# 字节数组网路传输转义,主要包括c# 字节数组网路传输转义使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
/// <summary> /// 获取转义数据 /// 转义规则:0x9e<——>0x9d后紧跟一个0x02;0x9d<——>0x9d后紧跟一个0x01。 /// </summary> /// <param name="buffer">原始数据</param> /// <returns>转义数据</returns> private byte[] getTransferredMeaning(byte[] buffer) { try { List<byte> dataList = buffer.ToList(); for (int i = 1; i < dataList.Count-1; i++) { if (dataList[i] == 0x9e) { dataList[i] = 0x9d; dataList.Insert(i + 1, 0x02); } else if (dataList[i] == 0x9d) { dataList.Insert(i + 1, 0x01); } } return dataList.ToArray(); } catch { return buffer; } } /// <summary> /// 反转义 /// 转义规则:0x9e<——>0x9d后紧跟一个0x02;0x9d<——>0x9d后紧跟一个0x01。 /// </summary> /// <param name="buffer">原始数据</param> /// <returns>反转义数据</returns> private byte[] getOppositeMeaning(byte[] buffer) { try { List<byte> dataList = buffer.ToList(); for (int i = 1; i < dataList.Count - 1; i++) { if (dataList[i] == 0x9d && dataList[i + 1] == 0x02) { dataList[i] = 0x9e; dataList.RemoveAt(i + 1); } else if (dataList[i] == 0x9d && dataList[i + 1] == 0x01) { dataList.RemoveAt(i + 1); } } return dataList.ToArray(); } catch { return buffer; } }
原文地址:https://www.cnblogs.com/webttt/p/12855007.html
- ASM无法启动的问题分析(一)(r7笔记第87天)
- 54. 心跳的实现 | 厚土Go学习笔记
- 53. Socket服务三次握手的示例 | 厚土Go学习笔记
- 使用Beego+Swagger构建更好的API服务
- ASM无法启动的问题分析(二)(r7笔记第88天)
- 43. 等价二叉树 | 厚土Go学习笔记
- 51. Socket服务端和客户端使用TCP协议通讯 | 厚土Go学习笔记
- 50. RESTful API的简单实现 | 厚土Go学习笔记
- go实现西瓜视频花椒直播等平台智能答题
- 主备切换的准备工作(二) (r7笔记第85天)
- 49. 访问PostgreSQL数据库增删改查 | 厚土Go学习笔记
- Golang中Interface类型详解
- Go语言的网络编程简介
- 一条关于swap争用的报警邮件分析(二)(r8笔记第4天)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Scrapy框架: 通用爬虫之CrawlSpider
- Scrapy框架: 通用爬虫之XMLFeedSpider
- Scrapy框架: 通用爬虫之CSVFeedSpider
- Scrapy框架: 通用爬虫之SitemapSpider
- Scrapy框架: 异常错误处理
- Scrapy框架: Request回调函数
- Python快速设置Excel表格边框
- SwiftUI:contextMenu 菜单
- [已解决]报错: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/User
- Python建立pip.ini
- 使用requests_html抓取数据
- AkShare-能源数据-碳排放-深圳
- ClickHouse入门实例-样例数据(ontime)
- Docker的简单使用
- AkShare-中国宏观-外汇和黄金