更新记录
1.0.21(2024-04-02)
- 十进制转二进制时,不够8位前面补0
1.0.20(2023-10-11)
- utf8增加兼容性
1.0.19(2023-10-11)
优化
查看更多
平台兼容性
App |
快应用 |
微信小程序 |
支付宝小程序 |
百度小程序 |
字节小程序 |
QQ小程序 |
HBuilderX 3.1.0 app-vue app-nvue |
√ |
√ |
√ |
√ |
√ |
√ |
钉钉小程序 |
快手小程序 |
飞书小程序 |
京东小程序 |
√ |
√ |
√ |
√ |
H5-Safari |
Android Browser |
微信浏览器(Android) |
QQ浏览器(Android) |
Chrome |
IE |
Edge |
Firefox |
PC-Safari |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
十六进制/ArrayBuffer/ASCII/modbus/crc/高低位,常用于串口、蓝牙、socket、UDP等字节数据转换
业务定制需求可加Q252797991
您的好评就是插件更新的动力,麻烦亲动动手指给个好评!!!!
byte字节工具类
import * as ByteUtils from '@/uni_modules/wrs-js-modbusCRCHex/js_sdk/wrs-ByteUtils.js';
let intValue = 500;
let byteValue = ByteUtils.intToByte(intValue);
let byteValue = 100;
let intValue = ByteUtils.byteToInt(byteValue);
hex十六进制工具类
import * as HexUtils from '@/uni_modules/wrs-js-modbusCRCHex/js_sdk/wrs-HexUtils.js';
let intArray = [];
intArray.push(0x01);
intArray.push(355);
let hex = HexUtils.intArrayToHex(intArray);
let byteArray = [];
byteArray.push(0x01);
byteArray.push(35);
let hex = HexUtils.byteArrayToHex(byteArray);
let hex = "030610aabb"
let intArray = HexUtils.hexToIntArray(hex);
let hex = "ffbb02"
let byteArray = HexUtils.hexToByteArray(hex);
let hex = "ffbb02"
let arrayBuffer = HexUtils.hexToArrayBuffer(hex);
let byteArrayBuffer = new Uint8Array([0x05, 0x02, 0xff]);
let arrayBuffer = byteArrayBuffer.buffer;
let hex = HexUtils.arrayBufferToHex(arrayBuffer);
let hex = "030610aabb"
let uint8Array = HexUtils.hexToUint8Array(hex);
let msg = "hexToUint8Array\n" + "hex:" + hex + "\nintArray:" + uint8Array;
this.showMsg(msg);
var uint8 = new Uint8Array(4);
uint8[0] = 0x1f;
uint8[1] = 0x2f;
uint8[2] = 0x3f;
uint8[3] = 0x4f;
let hex = HexUtils.uint8ArrayToHex(uint8);
let msg = "uint8ArrayToHex:" + uint8 + " uint8ArrayToHex hex:" + hex;
this.showMsg(msg);
CRC校验工具类
import * as CRCUtils from '@/uni_modules/wrs-js-modbusCRCHex/js_sdk/wrs-CRCUtils.js';
let hex = "05060A";
let data = HexUtils.hexToByteArray(hex);
var crc = CRCUtils.getCRC16_MODBUS(data);
// CRC十六进制
var crcHex = IntUtils.intToHex(crc)
var obj = CRCUtils.intToHighLow(crc);
// CRC低位
let low = obj.low;
// CRC高位
let high = obj.high
let hex = "05060A";
let data = HexUtils.hexToByteArray(hex);
var crc = CRCUtils.getCRC16_CCITT_FALSE(data);
// CRC十六进制
var crcHex = IntUtils.intToHex(crc)
var obj = CRCUtils.intToHighLow(crc);
// CRC低位
let low = obj.low;
// CRC高位
let high = obj.high
let data = [0x05, 0x06, 0x0a];
let initialCrc = 0xFFFFFFFF;
let polynom = 0x04C11DB7;
let xor = 0xFFFFFFFF;
let refIn = true;
let refOut = true;
var crc = CRCUtils.getCRC32(data);
this.showMsg("CRC32:" + crc)
modubs工具类
import * as ModbusUtils from '@/uni_modules/wrs-js-modbusCRCHex/js_sdk/wrs-ModbusUtils.js';
// 设备地址
let address = 0x25;
// 寄存器起始地址
let start = 20;
// 寄存器个数
let count = 3;
let byteArray = ModbusUtils.getReadModbus(address, start, count);
let hex = HexUtils.byteArrayToHex(byteArray);
// 如果CRC高位在前
let crcLowFront = false; // CRC是否低位在前
let byteArray1 = ModbusUtils.getReadModbusCRCLowFront(address, start, count, crcLowFront);
let hex1 = HexUtils.byteArrayToHex(byteArray1);
// 设备地址
let address = 0x25;
// 寄存器起始地址
let start = 20;
// 数据
let data = [];
data.push(0x02);
data.push(0x0A);
let byteArray = ModbusUtils.getWriteModbus(address, start, data);
let hex = HexUtils.byteArrayToHex(byteArray);
// 如果CRC高位在前
let crcLowFront = false; // CRC是否低位在前
let byteArray1 = ModbusUtils.getWriteModbusCRCLowFront(address, start, data, crcLowFront);
let hex1 = HexUtils.byteArrayToHex(byteArray1);
ASCII工具类
import * as ASCIIUtils from '@/uni_modules/wrs-js-modbusCRCHex/js_sdk/wrs-ASCIIUtils.js';
let str = "Get_ID占三";
// byteArray为字节数组
let byteArray = ASCIIUtils.encodeUtf8(str);
// hex为十六进制字符串
let hex = HexUtils.byteArrayToHex(byteArray);
let hex = "4765745f4944e58da0e4b889"
let decodeStr = ASCIIUtils.decodeUtf8(hex);
整型工具类
import * as IntUtils from '@/uni_modules/wrs-js-modbusCRCHex/js_sdk/wrs-IntUtils.js';
// 低位
let low = 226;
// 高位
let high = 102;
// 26338
let value = IntUtils.highLowToInt({
low: low,
high: high
})
// 整型
let value = 26338;
// 26338
let obj = IntUtils.intToHighLow(value)
// 低位
let low = obj.low;
// 高位
let high = obj.high;
var byteArray = [0x01, 0x02, 0x03, 0x04]
var intValue = IntUtils.bigEndianToInt(byteArray)
var intValue = 2461;
var byteArray = IntUtils.bigEndianToByteArray(intValue)
var byteArray = [0x01, 0x02, 0x03, 0x04]
var intValue = IntUtils.littleEndianToInt(byteArray)
var intValue = 2461;
var byteArray = IntUtils.littleEndianToByteArray(intValue)
var intValue = 20;
var bitStr = IntUtils.intToBit(intValue);
var bit = "00001001";
var intValue = IntUtils.bitToInt(bit);