? 作者:程**(chengwei@***.cn)
解答: 1. 何为回车换行? 回车和换行的定义是来自于早期的打字机: 回车命令是回到一行的最开始,也就是打字头归位的动作; 换行命令是打印纸滚动一行。 回车(r):carrige return,缩写为CR。ASCII表中用十进制13表示,十六进制0x0d 换行(n):line feed,缩写为LF。ASCII表中用十进制10表示,十六进制0x0a DOS下回车换行CRLF(carriage return/line feed, 0d 0a) UNIX下使用LF(0a) MAC则采用回车符CR表示下一行(0d) 2. CVS如何处理换行符? 首先,CVS按文件类型分,文件可分为:二进制文件和文本文件。 CVS对于二进制文件中的回车换行符不做处理,对文本文件的换行符会做相应处理。 其次,CVS分为服务器端和客户端,且都有可能跨平台,下面分别介绍: 1)服务器端: 无论是Linux还是Windows(cvsnt)的服务器,服务器端都将换行符保存为 LF(0a)。 2)Unix客户端: Unix上的客户端,文本直接储存到服务器上,0d作为普通字符存储,不做处理,因为 Unix的默认文件换行符为 “0a”。 3)Windows 客户端 Windows上的客户端,具有智能CRLF转换的功能,即:将文本文件中的CRLF转换为LF,提交到服务器端,又可以将服务器端的LF转换为CRLF。 但是,如果服务器端是CRLF,则转换为CRCRLF,这就是造成文件多空行的原因,具体转换方式参照下表。 服务器和客户端换行符转换对照表: 3. 小结 综上所述,在不同操作系统间传输文件时小心注意传输中的回车换行符处理问题,开发环境最好和运行环境使用同样的操作系统,以避免出现文件中的回车换行符混乱。 参考: |
|
来自: bananarlily > 《IT》