hyc a357b9f885 补充 vor 9 Monaten
..
readme.md a357b9f885 补充 vor 9 Monaten
wrs-ASCIIUtils.js a357b9f885 补充 vor 9 Monaten
wrs-Base64Utils.js a357b9f885 补充 vor 9 Monaten
wrs-ByteUtils.js a357b9f885 补充 vor 9 Monaten
wrs-CRCUtils.js a357b9f885 补充 vor 9 Monaten
wrs-HexUtils.js a357b9f885 补充 vor 9 Monaten
wrs-ISType.js a357b9f885 补充 vor 9 Monaten
wrs-IntUtils.js a357b9f885 补充 vor 9 Monaten
wrs-ModbusUtils.js a357b9f885 补充 vor 9 Monaten

readme.md

十六进制/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);
    
    
  • 十六进制字符串转arrayBuffer

    
    				let hex = "ffbb02"
    				let arrayBuffer = HexUtils.hexToArrayBuffer(hex);
    
    
  • arrayBuffer转十六进制字符串

    
    				let byteArrayBuffer = new Uint8Array([0x05, 0x02, 0xff]);
    				let arrayBuffer = byteArrayBuffer.buffer;
    				let hex = HexUtils.arrayBufferToHex(arrayBuffer);
    
    
  • 十六进制字符串转Uint8Array

    
    				let hex = "030610aabb"
    				let uint8Array = HexUtils.hexToUint8Array(hex);
    				let msg = "hexToUint8Array\n" + "hex:" + hex + "\nintArray:" + uint8Array;
    				this.showMsg(msg);
    
    
  • Uint8Array转十六进制字符串

    
    				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';

  • 获取CRC16_MODBUS

    
    				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
    
    
  • 获取CRC16_CCITT_FALSE

    
    			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
    
    
  • 获取CRC32

    
    				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';

  • 字符串转ASCII

    
    				let str = "Get_ID占三";
    				// byteArray为字节数组
    				let byteArray = ASCIIUtils.encodeUtf8(str);
    				// hex为十六进制字符串
    				let hex = HexUtils.byteArrayToHex(byteArray);
    
    
  • ASCII转字符串

    
    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)
    
    
  • 大端序 int转字节数组

    
    	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);