一个串口通讯 ModBus
 例如 我发送 ":01 05 04 0B 00 00 EB\CR\LF"  
但是C#中不能出现单一的“\”,有人说改成这样 @":01 05 04 0B 00 00 EB\CR\LF" 
 也有人说 这样 ":01 05 04 0B 00 00 EB\\CR\\LF" 也有人说用Replace(),
但是我都试了不行   
前面两种对方接收到的是":01 05 04 0B 00 00 EB\\CR\\LF"也就是说有双斜杠,这样是不行的  ,
请问有什么办法能让对方接收到的是  ":01 05 04 0B 00 00 EB\CR\LF" 这样的呢?C#,转义

解决方案 »

  1.   

    01 05 04 0B 00 00 EB 0D 0A
    CR = 0x0D
    LF = 0x0A
      

  2.   

    如果是文本,就是01 05 04 0B 00 00 EB\r\n
      

  3.   

      这个 别人接收到的直接是 :01 05 04 0B 00 00 EB OA OD了··帮帮忙再想想 
      

  4.   

      非常感谢,急呀,在客户这里,遇到蛋疼的事··更改接收端就不太现实,他是标准设备了,别人的机器,我用C++和他通讯没什么问题,C#不行,C#本身就存在转义,但我的其它软件必需用到C#,网上下载的通讯软件大部分也不能用  只有一个叫Commix的软件能够正常通讯上,所以很是郁闷了··
      

  5.   

    01 05 04 0B 00 00 EB\CR\LF中的\CR\LF是回车换行符,发送数据的时候01 05 04 0B 00 00 EB加上回车换行符的字符串转换为二进制或其他编码,接受的时候再通过解析,在获取的数据就是01 05 04 0B 00 00 EB和回车换行符,只是回车换行符在显示的时候是看不见的,你如果发送的是01 05 04 0B 00 00 EB \CR\LF 01 05 04 0B 00 00 EB,接受的应该是:
    01 05 04 0B 00 00 EB
    01 05 04 0B 00 00 EB
      

  6.   

      测试了都不行 串口不是只能发 BYTE  CHAR STRING 的吗  都试了不行