由win平台向linux发送报文,报文中使用换行符"\n",结果失败.
原因是由于使用swt中的Text组件在setText()中使用的"\n",再通过getText()获取后在win系统上被自动转为"\r\n”,而linux中对换行符的定义为"\n”,故发送失败.而且对于定长报文而言,也引起长度变化.
win:“\r\n”,0x0D0A;
linux:“\n”,0x0A;
mac:"\r",0x0D;
本文探讨了在Windows平台使用Swt Text组件处理文本时,因不同操作系统对换行符定义的不同而导致的问题。Windows系统使用
作为换行符,而在Linux和Mac系统中分别使用
和
。这导致了在不同平台间发送固定长度报文时出现错误。
由win平台向linux发送报文,报文中使用换行符"\n",结果失败.
原因是由于使用swt中的Text组件在setText()中使用的"\n",再通过getText()获取后在win系统上被自动转为"\r\n”,而linux中对换行符的定义为"\n”,故发送失败.而且对于定长报文而言,也引起长度变化.
win:“\r\n”,0x0D0A;
linux:“\n”,0x0A;
mac:"\r",0x0D;

被折叠的 条评论
为什么被折叠?