ByteArrayLib中的方法主要用于实现字节数组与各种数据类型之间的相互转换,包含几十种不同的方法。由于篇幅有限,选择其中具有代表性的10种方法进行说明。
(1)自定义截取字节数组:根据起始索引和长度,从目标字节数组中截取字节数组。
(2)截取指定2个字节:从起始索引开始截取2个字节,并按指定的字节顺序进行转换,这个方法主要用来后续调用,从而将获得的结果转换成short或ushort类型的数据。
(3)截取指定4个字节:从起始索引开始截取4个字节,并按指定的字节顺序进行转换,这个方法主要用来后续调用,从而将获得的结果转换成int、uint或float类型的数据。
(4)截取指定8个字节:从起始索引开始截取8个字节,并按指定的字节顺序进行转换,这个方法主要用来后续调用,从而将获得的结果转换成long、ulong或double类型的数据。
(5)比较两个字节数组是否完全相同:这里说的两个字节数组相同,指的是它们的长度相同,并且每个位置的值也是相同的。
(6)将short类型的数据转换成字节数组:将一个short类型的数据按指定的字节顺序转换成字节数组。对于ushort类型的数据,实现代码基本是一致的,这里不做过多赘述了。
(7)将int类型的数据转换成字节数组:将一个int类型的数据按指定的字节顺序转换成字节数组。对于uint、float类型的数据,实现代码基本是一致的,这里不做过多赘述了。
(8)将long类型的数据转换成字节数组:将一个long类型的数据按指定的字节顺序转换成字节数组。对于ulong、double类型的数据,实现代码基本是一致的,这里不做过多赘述了。
(9)将float类型的数组转换成字节数组:将一个float类型的数组转换成字节数组,这里会使用ByteArray对象,然后结合foreach循环来实现,对于其他类型的数组,也是同样的原理,这里就不做过多赘述了。
(10)将布尔型的数组转换成字节数组:将指定长度的布尔型数组转换成字节数组。
ByteLib主要用于实现单个字节的数据与各类型数据之间的转换,主要包含以下几种转换方法。
(1)截取某个字节:从目标字节数组中截取某个字节。
(2)字节位赋值:对字节的某位赋值。
(3)将布尔型数组转成字节:把8个布尔型数组转换成1个字节。
BitLib主要用于实现单个布尔型数据与各类型数据之间的转换,主要包含以下几种转换方法。
(1)获取字节某位的值:根据字节指定位的索引(0~7)获取对应位的值。
(2)获取字节数组中指定位的值:根据字节数组的字节索引(0~7)和位索引获取相应位的值。
(3)获取2个字节组成的数组中指定位的值:根据2个字节组成的数组的位索引(0~15)获取相应位的值。
(4)获取2个字节数据指定位的值:这个方法主要用于实现获取short或ushort类型数据某位的值。
(5)获取short类型数据指定位的值:根据short类型数据的位索引(0~15)获取指定位的值,对于ushort类型的数据,原理是相同的。
(6)将字节数组转换成布尔型数组并截取部分值:将整个字节数组转换成布尔型数组,再通过start和length进行截取,返回一个布尔型数组。
(7)将字节数组转换成布尔型数组:将整个字节数组或单个字节转换成布尔型数组。
(8)截取布尔型数组部分数值:根据指定位和长度截取布尔型数组。
ShortLib主要用于实现short类型的数据与各类型数据之间的转换,主要包含以下几种转换方法。
(1)截取字节数组并将结果转换成short类型:根据字节数组的指定索引截取字节数组并将截取的结果转换成short类型的数据。
(2)将字节数组转换成short类型的数组:将字节数组按顺序转换成short类型的数组。
(3)设置2个字节的数组中的某位的值:对字节数组中的某个位进行置位或复位,再将其转换成short类型的数据。
(4)置位或复位short类型数据某位的值:置位或复位short类型数据某个位的值,再将其转换成short类型数据。
IntLib主要用于实现int类型的数据与各种类型数据之间的转换,主要包含以下几种转换方法。
(1)截取字节数组并将结果转换成int类型的数据:根据字节数组的指定索引截取字节数组并将结果转换成int类型的数据。
(2)将字节数组转换成int类型的数组:将字节数组按顺序转换成int类型的数组。
LongLib主要用于实现long类型的数据与各种类型数据之间的转换,主要包含以下几种转换方法。
(1)截取字节数组并将结果转换成long类型的数据:根据字节数组的指定索引截取字节数组并将结果转换成long类型的数据。
(2)将字节数组转换成long类型的数组:将字节数组按顺序转换成long类型的数组。
StringLib主要用于实string类型的字符串与各种类型之间的转换,主要包含以下几种转换方法。
(1)将字节数组转换成string类型的字符串:根据字节数组的指定索引截取字节数组并将结果根据指定的编码格式转换成string类型的字符串。
(2)将字节数组转换成16进制形式的字符串:根据字节数组的指定索引截取字节数组并将结果转换成16进制形式的字符串。
(3)将字节数组转换成西门子字符串:西门子PLC字符串比较特殊,前两个字节分别表示总长度和有效长度,编码格式为GBK。
(4)将泛型数组转换成字符串:将各类型的数组通过指定的分割符拼接成一个字符串进行显示。