C#开发之遇到的一些字符串问题

来源:互联网 发布:单片机论坛网430 编辑:程序博客网 时间:2024/04/28 15:34
string recData;//接收数据转码后缓存byte[] recBuffer = (byte[])recQueue.Dequeue();//出列Dequeue(全局)recData = System.Text.Encoding.Default.GetString(recBuffer);//转码 string temp = recBuffer16.ToString().Replace(" ", "");

       将获取的缓存数据转化为16进制

 StringBuilder recBuffer16 = new StringBuilder();//定义16进制接收缓存  for (int i = 0; i < recBuffer.Length; i++)  {      recBuffer16.AppendFormat("{0:X2}" + " ", recBuffer[i]);      //X2表示十六进制格式(大写),域宽2位,不足的左边填0。  }
string recStr = recBuffer16.ToString().Replace(" ", "");//去除字符串中空格string recSub = recStr.Substring(0, recStr.Length - 4);//获取除最后4位校验码的主体代码string recSubCRC = recStr.Substring(recStr.Length - 4, 4).Replace(" ", "");//获取最后4位CRC校验码
int plcInt = Convert.ToInt32(plcStr, 16);//将16进制转化为十进制string plc2 = Convert.ToString(plcInt, 2).PadLeft(12, '0');//将十进制数转化为12位二进制数
sendData = sendData.Replace(" ", "");//去除16进制数据中所有空格sendData = sendData.Replace("\r", "");//去除16进制数据中所有换行sendData = sendData.Replace("\n", "");//去除16进制数据中所有换行
0 0