/// <summary>/// 16进制字符转为字节流/// </summary>/// <param name="str"></param>/// <param name="fromBase"></param>/// <returns></returns>public static byte[] HexStringToByte(string str, int fromBase = 16){str = str.Replace(" ", "");if ((str.Length % 2) != 0)str += "";byte[] bytes = new byte[str.Length / 2];for (int i = 0; i < bytes.Length; i++){bytes[i] = Convert.ToByte(str.Substring(i * 2, 2), fromBase);}return bytes;}/// <summary>/// 整数转为16进制字符/// </summary>/// <param name="i"></param>/// <returns></returns>public static string Int16ToHexStr(Int16 i){string fStr = "";fStr = PLC.Core.ByteToHexStr(BitConverter.GetBytes(i));return fStr;}/// <summary>/// 单浮点数转为16进制字符/// </summary>/// <param name="f"></param>/// <returns></returns>public static string FloatToHexStr(float f){string fStr = "";fStr = PLC.Core.ByteToHexStr(BitConverter.GetBytes(f));return fStr;}/// <summary>/// 字节数组转16进制字符串/// </summary>/// <param name="bytes"></param>/// <returns></returns>static string ByteToHexStr(byte[] bytes){string returnStr = "";if (bytes != null){for (int i = 0; i < bytes.Length; i++){returnStr += bytes[i].ToString("X2");}}return returnStr;}/// <summary>/// 一个字节前后两位对调/// </summary>/// <param name="inputStr"></param>/// <returns></returns>public static string Start2ToEnd2(string inputHexStr){string str = "";str = inputHexStr.Substring(2, 2) + inputHexStr.Substring(0, 2);return str;}