public DeviceInfo(string serialString) { this.SerialString = serialString; this.SerialNum = GetDeviceSerialBytes(serialString); this.SerialLong = FormatHelper.ByteArrayToBigInt_BigMode(this.SerialNum, 0, this.SerialNum.Length); this.DeviceNo = SerialString.Substring(0, 12) + Convert.ToInt32(SerialString.Substring(12, 2), 16).ToString().PadLeft(3, '0'); }
/// <summary> /// 转换为协议 /// </summary> /// <param name="deviceID"></param> public void Parse(long deviceID) { /* * this.SerialLong = FormatHelper.ToBCD(deviceID); * FormatHelper.LongToByteArray_BigMode(SerialNum, this.SerialLong, 0); * this.SerialString = string.Format("{0:X14}", SerialLong); * */ this.SerialLong = deviceID; this.SerialString = deviceID.ToString("X").PadLeft(14, '0'); this.SerialNum = GetDeviceSerialBytes(SerialString); this.DeviceNo = SerialString.Substring(0, 12) + Convert.ToInt32(SerialString.Substring(12, 2), 16).ToString().PadLeft(3, '0'); }
/// <summary> /// 将字节填充至类 /// </summary> /// <param name="data"></param> public void Parse(byte[] data) { int length = 0; length = data.Length; if (data.Length > SerialNum.Length) { length = SerialNum.Length; } Array.Copy(data, SerialNum, length); this.SerialLong = FormatHelper.ByteArrayToBigInt_BigMode(SerialNum, 0, SerialNum.Length); this.SerialString = string.Format("{0:X14}", SerialLong); this.DeviceNo = SerialString.Substring(0, 12) + Convert.ToInt32(SerialString.Substring(12, 2), 16).ToString().PadLeft(3, '0'); }