C#关于转义字符“\”的问题

信_念2013 2013-09-30 02:30:02
一个串口通讯 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" 这样的呢?
...全文
417 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
信_念2013 2013-09-30
  • 打赏
  • 举报
回复
引用 8 楼 wgq174wgq 的回复:
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
测试了都不行 串口不是只能发 BYTE CHAR STRING 的吗 都试了不行
信_念2013 2013-09-30
  • 打赏
  • 举报
回复
引用 8 楼 wgq174wgq 的回复:
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




都不行 ····
信_念2013 2013-09-30
  • 打赏
  • 举报
回复
引用 8 楼 wgq174wgq 的回复:
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
都不行···
wgq174wgq 2013-09-30
  • 打赏
  • 举报
回复
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
threenewbee 2013-09-30
  • 打赏
  • 举报
回复
引用 4 楼 a3680717 的回复:
[quote=引用 1 楼 caozhy 的回复:] 01 05 04 0B 00 00 EB 0D 0A CR = 0x0D LF = 0x0A
这个 别人接收到的直接是 :01 05 04 0B 00 00 EB OA OD了··帮帮忙再想想 [/quote] 0不是O
信_念2013 2013-09-30
  • 打赏
  • 举报
回复
引用 5 楼 wcscpy174740342 的回复:
没有遇到过ModBus发 “\”。帮顶
非常感谢,急呀,在客户这里,遇到蛋疼的事··更改接收端就不太现实,他是标准设备了,别人的机器,我用C++和他通讯没什么问题,C#不行,C#本身就存在转义,但我的其它软件必需用到C#,网上下载的通讯软件大部分也不能用 只有一个叫Commix的软件能够正常通讯上,所以很是郁闷了··
烈火焚身 2013-09-30
  • 打赏
  • 举报
回复
没有遇到过ModBus发 “\”。帮顶
信_念2013 2013-09-30
  • 打赏
  • 举报
回复
引用 1 楼 caozhy 的回复:
01 05 04 0B 00 00 EB 0D 0A CR = 0x0D LF = 0x0A
这个 别人接收到的直接是 :01 05 04 0B 00 00 EB OA OD了··帮帮忙再想想
信_念2013 2013-09-30
  • 打赏
  • 举报
回复
引用 2 楼 caozhy 的回复:
如果是文本,就是01 05 04 0B 00 00 EB\r\n
这样不行
threenewbee 2013-09-30
  • 打赏
  • 举报
回复
如果是文本,就是01 05 04 0B 00 00 EB\r\n
threenewbee 2013-09-30
  • 打赏
  • 举报
回复
01 05 04 0B 00 00 EB 0D 0A CR = 0x0D LF = 0x0A

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧