关闭

unix和dos文本文件的区别

351人阅读 评论(0) 收藏 举报

用utrledit打开unix文本文件时总会提示:是否将文件转换为dos格式。以前一直不知道为什么。前段时间做项目,在windows编辑 shell,然后用ftp上传到linux主机,发现不能运行。由于没有经验,分析了半天。

  不过最后终于得出了结论:dos和unix的文本文件格式有区别,这也是为什么前边提到utraledit会提示的原因。具体分析,在 utrledit下打开分别打开一个dos和unix的文本文件,然后选择hex 编辑,即可看到其编码内容。

  原来unix下的回车是用0x0A表示的,而dos下的回车则是0x0D0A。如果我们用wordpad打开unix的文件,会发现其换行处都不能正 确识别。

  分析了原因,就要找到解决的办法。在windows下用utraledit编辑后,可以在文件菜单下找到转换为unix格式,然后再上传主机。但是这 时还有问题,因为有的ftp工具可以选择以文本或者二进制格式传输,这时则必须选择二进制,否则传输时又会被改为dos格式。其实在unix下已经有一个 工具 dos2unix可以直接将dos格式文件转换为unix格式。看来各个系统间的区别不仅是在大的方面,也体现在这种细微的地方。

unix文本文件和windows/dos文本文件的格式区别主要是两点:
换行符:
                  unix(/n)                            windows/dos(/r/n)
Ctrl:            ^J                              ^M^J
Dec:           10                               13+10
Hex:            0A                              0D+0A
Code:          LF                               CR+LF
文件结束符:
                  unix                            windows/dos
Ctrl:            ^D                              ^Z
Dec:           04                               26
Hex:            04                              1A
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:77535次
    • 积分:1388
    • 等级:
    • 排名:千里之外
    • 原创:39篇
    • 转载:85篇
    • 译文:0篇
    • 评论:3条
    文章分类
    最新评论