当前位置:编程学习 > C#/ASP.NET >>

一个又棘手又怪的问题!!!

我在使用Socket传字符串信息的时候遇到了一个很棘手的问题,在这个字符串的最开头,必须是ASCⅡ码中的控制字符SOH,这个字符表示是‘标题首字符’,但是就是因为它的特殊性,导致我没有办法,将它放到字符串的最开始,换句话说,在C#里不能将它与正常的字符串进行'+'运算。比如:string a = ‘SOH’+“1234567890”;--其中的‘SOH’代表那个字符。

请高人指教,最后只要能把它与正常的字符串组合成一个整体被传送就行了。
--------------------编程问答-------------------- 后面的字符串转为byte[],在前面加上SOH,传过去再转为字符串。可以吗 --------------------编程问答-------------------- --------------------编程问答-------------------- 遍历每个字符串,如果它的前三个字符是SOH,则将它替换为“”,然后进行相加。完成后在字符串头加上 "SOH" --------------------编程问答--------------------

byte[] sendBuffer = new byte[1024];

byte SOH = 0x01;                        //<---
sendBuffer[0] = SOH;                    //<---

string str = "1234567890";
Encoding.ASCII.GetBytes(str, 0, str.Length, sendBuffer, 1);

socket.Send(sendBuffer);


1、ASCii中SOH是一个控制字符,它的编码是0x01,而不是SOH三个字符。
2、Socket传输的是字节流(byte[]),要把字符串转换成字节流。
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,