您的位置:首页 > 编程语言 > C#

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

2017-04-18 10:30 363 查看
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进制数据中所有换行
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: