123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- using SXLibrary;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace MOKA_Factory_Tools
- {
- class SerialInit
- {
- public static string ByteToHex(byte[] comByte)
- {
- StringBuilder builder = new StringBuilder(comByte.Length * 3);
- foreach (byte data in comByte)
- {
- builder.Append(Convert.ToString(data, 16).PadLeft(2, '0').PadRight(3, ' '));
- }
- return builder.ToString().ToUpper();
- }
- public static byte[] HexToByte(string msg)
- {
- try
- {
- msg = msg.Replace(" ", "");//移除空格
- //create a byte array the length of the
- //divided by 2 (Hex is 2 characters in length)
- byte[] comBuffer = new byte[msg.Length / 2];
- for (int i = 0; i < msg.Length; i += 2)
- {
- //convert each set of 2 characters to a byte and add to the array
- comBuffer[i / 2] = (byte)Convert.ToByte(msg.Substring(i, 2), 16);
- }
- return comBuffer;
- }
- catch(Exception e)
- {
- Log.WriteErrorLog(string.Format("HexToByte Error: {0} -> {1}", msg, e.Message));
- }
- return new byte[] { };
- }
- public static bool BytesCompare_Base64(byte[] b1, byte[] b2)
- {
- if (b1 == null || b2 == null) return false;
- if (b1.Length != b2.Length) return false;
- return string.Compare(Convert.ToBase64String(b1), Convert.ToBase64String(b2), false) == 0 ? true : false;
- }
- /// <summary>
- /// 将16进制字符串转成字节;
- /// </summary>
- /// <param name="hexString"></param>
- /// <returns></returns>
- public static byte[] strToToHexByte(string hexString)
- {
- hexString = hexString.Replace(" ", "");
- if ((hexString.Length % 2) != 0)
- hexString += " ";
- byte[] returnBytes = new byte[hexString.Length / 2];
- for (int i = 0; i < returnBytes.Length; i++)
- returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16);
- return returnBytes;
- }
- }
- }
|