string和byte[]互转
string转byte[]
byte[] byteArray = System.Text.Encoding.Default.GetBytes(str);
byte[] 转string
string str = System.Text.Encoding.Default.GetString(byteArray);
16 进制字符串与string互转
字符串转16进制字节数组
输入字符串"0011AACCBB" 输出字节数组0x00,0x11,0xAA,0xCC,0xBB
//参数:"0011AACCBB" return 字节数组0x00,0x11,0xAA,0xCC,0xBBpublic 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;}
字符串转16进制字节数组(带分隔符)
输入字符串"00 11 AA CC BB" 输出字节数组0x00,0x11,0xAA,0xCC,0xBB
//参数:"00 11 AA CC BB" return 字节数组0x00,0x11,0xAA,0xCC,0xBBpublic static byte[] strToHexByteSplit(string hexString){return hexString.Split(' ').Select(temp => "0x" + temp).Select(temp => (byte)Convert.ToInt32(temp, 16)).ToArray();}
16进制字节数组转字符串(可加分隔符)
输入字节数组0x00,0x11,0xAA,0xCC,0xBB 输出字符串0011AACCBB也可带分隔符
//参数:字节数组0x00,0x11,0xAA,0xCC,0xBB return 0011AACCBB也可带分隔符public static string HexToStr(byte[] hexbyte){return BitConverter.ToString(hexbyte).Replace("-","");}
16进制字符串转字符串RFID里常用
public static string HexToStr(string mHex){mHex = mHex.Replace(" ", "");if (mHex.Length <= 0) return "";byte[] vBytes = new byte[mHex.Length / 2];for (int i = 0; i < mHex.Length; i += 2)if (!byte.TryParse(mHex.Substring(i, 2), NumberStyles.HexNumber, null, out vBytes[i / 2]))vBytes[i / 2] = 0;return ASCIIEncoding.Default.GetString(vBytes);}