在不同的操作系统上\ n \ r \ n表现不同吗?

时间:2012-10-26 19:02:11

标签: operating-system terminal telnet eol

我有一个服务器和一个客户端程序,通过套接字连接互相通信。 它发送我通过telnet /(或终端?在mac上)监控的数据字符串。

当我将MAC用作服务器而我的PC用作客户端时,它工作正常。 当我使用MAC作为客户端,PC作为服务器时,工作......(!?)

因为有两种不同的操作系统,所以它可能是互联网"\n\r"(EOL?)不同吗?

有没有人有关于如何解决这个问题的线索/提示/解决方法?

2 个答案:

答案 0 :(得分:1)

Windows实际上使用\r\n作为EOL。但是,它不应该在不同的操作系统上表现不同。 Mac使用\r,因此它会忽略\n,反之亦然* * nix。 Windows会忽略\r\n,除非它们按照\r\n的顺序彼此相邻。

使用EOL进行编程时,大多数语言仅使用\n并在必要时自动转换格式。

答案 1 :(得分:0)

如果我没记错的话,Mac会使用CR(“\ r”)作为他们的单行尾字符。由于Windows使用“\ r \ n”(CR-LF)作为行尾,您可能需要在代码中对其进行补偿。