在串口通讯过程中经常要用到 16进制与字符串、字节数组、整数与字符串,字节数组编码为字符串、字符串按编码转换为字节数组之间的转换。
定义字节数组姐使用到的监视列表
byte[] b = new byte[] { 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0xCA, 0xE9, 0xB7, 0xA8, 0xBC, 0xD2 };
var arrByte = new List<byte>();
List<byte> bArr = new List<byte>();
var arrString0 = new List<string>();
List<string > sArr = new List<string>();
整数转化位字符串
foreach (var item in b)
{
arrString0.Add(item.ToString());
sArr.Add(item.ToString("x2"));
}
string[] arr0 = arrString0.ToArray();
string[] sarr = arrString0.ToArray();
字符串转换整数
foreach (var item in arr0)
{
arrByte.Add(Convert.ToByte (item));
}
foreach (var item in sarr)
{
bArr.Add(Convert.ToByte(item));
}
byte [] barrout = arrByte.ToArray();
byte []bout = bArr.ToArray();
将十进制、十六进制整数的字符串转化成十六进制数的字符串
string s0= Convert.ToString(183, 2);
s0 = Convert.ToString(0xb7, 2);
string s1 = Convert.ToString(168, 8);
s1 = Convert.ToString(0xa8, 8);
string s2 = Convert.ToString(210, 16);
s2 = Convert.ToString(0xd2, 16);
将二进制、十进制、十六进制字串转化成十进制的整数
int i0= Convert.ToInt32("1101110", 2);
int i1 = Convert.ToInt32("64", 8);
int i2 = Convert.ToInt32("6e", 16);
按照指定编码将string编程字节数组
按照指定编码将字节数组变为字符串
Encoding encode = Encoding.Default ;
string strEncode = "123456书法家";
byte[] eBtye = encode.GetBytes(strEncode);
string eString = encode.GetString(eBtye);