• 行结束符\r\n?

    分类:Web技术 | 标签: | 2009-12-12 22:49

    \r 0X0A 回车,return
    \n 0X0D 换行,newline

    我们在平时使用电脑时,已经习惯了回车和换行一次搞定,敲一个回车键,即是回车,又是换行,但在早期的打字机上,要另起一行打字需要两个步骤,首先要发送命令”\r”将打字头复位,即回车,然后再发送命令”\n”让打字机走纸移到下一行,所以这个历史遗留问题导致了如今我们在DOS-Win的系统中用”\r\n”作为“行结束符”,但在基于Unix的操作系统中使用”\n”,mac中使用“\r”。

    win下,用UltraEdit打开文本查看,会看到换行处显示的是0x0D0A,0x0D即”\r”,0x0A即”\n”。  有时候在文本文件中出现■这样的符号,是因为没有”\r\n”连用,导致不能正确回车换行。

    在处理字符时可以将“行结束符”统一处理成“\n”,然后再进一步处理,如:

    php:

    1. // cross-platform newlines
    2. $str = str_replace(array("\r\n","\r"), "\n", $str);

    Javascript:

    1. // cross-platform newlines
    2. str.replace(/\r\n?/g,"\n");

    php读写文件时,fopen设置‘b’标志(强制二进制模式,不会做任何转换)。或者设置’t'标志(文本模式,win 会将\n转换成\r\n,(只当让文件具有可读性时设置吧))。

    也许你会喜欢

  • 共有2条评论

    1. Insen

      2009-12-13 19:39

      呃,顶部的logo链接不对…

      http://www.yegle.cn 被抢了?

      • rong179

        2009-12-14 00:39

        一直没注意,看来写相对地址好啊,href=”/”
        恩,那个域名被别人注册了,本来想过期后在注册呢,原来的域名商续费超贵,哎。。。,以后这个域名得老实交钱了

    发表评论

我的音乐 Style定制 Rss订阅

我的音乐

-