阮一峰这篇文章发表在2006年,这时的mac系统还是每行结尾是"<回车>"。
然而,从这三个网站
Unix / Linux / OS X / Windows 系统下的回车换行符都分别是什么?
Windows、Unix、Mac不同操作系统的换行问题 回车符\r和换行符\n
可以得知,现在较新的mac系统里的换行符是 LF即‘\n',和Unix/Linux统一了。
在不同平台间使用FTP软件传送文件时, 在ascii文本模式传输模式下, 一些FTP客户端程序会自动对换行格式进行转换. 经过这种传输的文件字节数可能会发生变化. 如果你不想ftp修改原文件, 可以使用bin模式(二进制模式)传输文本。
【C++】小心使用文件读写模式:回车('\r') 换行('\n')问题的一次纠结经历
这篇文章也提到了类似的问题,这样看起来以后可能还是默认以二进制模式更不会被坑。先要保证文件的完整和正确。
而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。
^M就是就是在行尾显示的\r。之所以显示为^M是因为Linux下一般用^表示Ctrl键,而Ctrl+M表示回车
网友评论