byte-parse-util
v0.0.2
Published
The operation of combining and decomposing bytes
Downloads
5
Maintainers
Readme
byte-parse-util
字节处理工具集合
Features
- 字节提取指定位
- 进制换算
- CRC校验
- REAL类型解析
Browser Support
| | | | | | --- | --- | --- | --- | --- | --- | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | 11 ✔ |
Installing
Using npm:
$ npm install byte-parse-util
Using cdn:
<script src="https://unpkg.com/byte-parse-util/dist/main.js"></script>
Example
//es6 module
import byteParseUtil from 'byte-parse-util';
//commonjs
const util = require('../dist/main.js');
let byteParseUtil = util.byteParseUtil;
字节处理相关
//从数字中获取指定位 输出 3 125对应 二进制 11111111 提取 1 【start】11【end】11111,==》11,十进制为3
console.log(byteParseUtil.getBit(125,1,2));
//从数字中获取指定位字符串 输出 '11' 125对应 二进制 11111111字符串 提取 1 【start】11【end】11111,==》11
console.log(byteParseUtil.getBitString(125,1,2));
//合并字节数组 [0x2c,0x01] ==> 0x2c01 对应十进制为 11265
console.log(byteParseUtil.joinArr2Byte([0x2c,0x01]));
//将字节按指定大小端模式分解成指定长度数组 0x2c01 ==> [0x2c,0x01] 以大端模式分解
console.log(byteParseUtil.spliteByte(0x2c01,2,'BE'));
//字节转换为编码字符串 仅支持浏览器端
try{
console.log(byteParseUtil.bytesToEncodedString(5));
}catch(e){
console.log('bytesToEncodedString 仅支持浏览器端');
}
数据包处理相关
//获取校验值 数组(长度<=15)总和%256 输出254 (1+253)%253
console.log(byteParseUtil.getValidCode([1,253]));
//自动补全 输出[1,253,5,5,5,5,5,5,5,5,5,5,5,5,5]
console.log(byteParseUtil.cover([1,253],5));
//转换成标准16个字节unit8数组,末位为校验位 输出[1, 253, 5, 5, 5, 5,5,5, 5, 5, 5, 5,5,5, 5, 63]
console.log(byteParseUtil.bytesToSendUnit8Array([1,253],5));
//转换成标准16个字节unit8字符串,末位为校验位 输出1,253,5,5,5,5,5,5,5,5,5,5,5,5,5,63
console.log(byteParseUtil.bytesToSendUint8String([1,253],5));
//获取CRC校验位 输出16349
let arr = byteParseUtil.cover([1,253],5);
console.log(byteParseUtil.getCRC(arr));
字符串处理相关
//将字符串以指定字符 输出 123,345,567,78
console.log(byteParseUtil.InsertString('12345678',',',3));
//给字符串添加指定长度的前缀或后缀
console.log(byteParseUtil.FillString('1235','*',15,true));
//16进制字符串转换成浮点数, 注意参数<=8位
console.log(byteParseUtil.HexToSingleBatch('2c012c01'));
//解析REAL类型 输出同上
console.log(byteParseUtil.getFloat32ByArr([0x2c,0x1,0x2c,1]));
//浮点数转换成十六进制 输出 3F CC CC CC
console.log(byteParseUtil.SingleToHexBatch(1.6));
//浮点数转换成十六进制数组 输出 [ 63, 204, 204, 204 ] (==[0x3F,0xCC,0xCC,0xCC])
console.log(byteParseUtil.SingleToHexArray(1.6));
//获取字符串各字符的asc码 输出 [ 104, 101, 108, 108, 111 ]
console.log(byteParseUtil.getStrAsc2Array('hello'));
//将十进制数组转换为指定字符的十六进制字符串 输出 05,0b,0f,0b
console.log(byteParseUtil.parseToHexString([5,11,15,11],','));
//十六进制转换为int16类型数字 输出 -1
console.log(byteParseUtil.hexToInt16('ff1'));
其他
//格式化时间显示 y-m-d h:m:s
console.log(byteParseUtil.parseTime(1611722358182));
Credits
本模块是我常用的字节处理工具集合,欢迎大家使用。
如有问题欢迎联系指正。
HedyMa
License
MIT