百度复制 - 换行符等解释说明

‘\r‘是回车,前者使光标到行首,(carriage return) (CR)‘\n‘是换行,后者使光标下移一格,(line feed)(LF)

\r 是回车,return\n 是换行,newline

对于换行这个动作,unix下一般只有一个0x0A表示换行("\n"),windows下一般都是0x0D和0x0A两个字符("\r\n"),苹果机(MAC OS系统)则采用回车符CR表示下一行(\r)

Unix系统里,每行结尾只有“<换行>”,即“\n”;Windows系统里面,每行结尾是“<回车><换行>”,即“\r\n”;Mac系统里,每行结尾是“<回车>”,即“\r”。

一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix下打开的话,在每行的结尾会多车一个^M字符。Dos和windows采用回车+换行CR/LF表示下一行,即^M$($不是换行符的表示,换行符没有表示出来,$是文本结束EOF的表示)而UNIX/Linux采用换行符LF表示下一行,即\n苹果机(MAC OS系统)则采用回车符CR表示下一行,即\r

CR用符号‘\r‘表示, 十进制ASCII代码是13, 十六进制代码为0x0D;LF使用‘\n‘符号表示, ASCII代码是10, 十六制为0x0A. 所以Windows平台上换行在文本文件中是使用 0d 0a 两个字节表示, 而UNIX和苹果平台上换行则是使用0a或0d一个字节表示.

由于dos风格的换行使用\r\n,把这样的文件上传到unix,有些版本的vi不能识别\r,所以vi显示时在行尾会出现^M出来,但是有些就能识别\r\n,正常显示回车换行。
时间: 2024-12-04 22:17:06

百度复制 - 换行符等解释说明的相关文章

掰碎了讲换行符和回车符

一开始对这个概念还只是有点模糊,不太在意,结果一搜索才发现,这东西太有意思了,不仅有个有趣的故事,而且本身也有很多门道,还勾起了一些之前的回忆,原来以前也跟这个问题打过交道啊. 1基本概念 控制字符 本义 换行符 \n newline LF (Line Feed) 光标直接往下一行(不一定是行首) 回车符 \r return CR(Carriage Return) 光标重新回到本行开头 基本概念如上表所示. 2由来 为什么会有这两个东西呢?它有一个有趣的传说:在计算机还没有出现之前,有一种叫做电

sql数据库查询结果字段包含换行符导致复制到Excel发生错位问题的解决

问题描述:在工作过程中,有时会遇到这样的问题,写好sql查询语句在数据库中查询数据,看到行数(比如说是1000行),但是把查询结果复制到Excel里面,却发生了行列错位问题,而导致Excel里面的行数是超过1000行的,造成数据行数的不一致. 问题重现:字段值包含char(10)换行符,复制字段值到Excel. 根源:某些行列对应单元格包含了换行符,导致复制到Excel里面发生错位. 解决方案:方案1(推荐):把有问题的字段值,用英文双引号括起来,这样就能把字段值里面的换行符限制在正确的Exce

sql server查询结果集字段包含换行符导致复制到excel错位问题

一.现象 直接复制查询结果到excel时,由于某些字符串字段包含换行符,导致原本10000行的数据,复制到excel后却超过了这个数值,甚是头疼 二.解决方案 把有问题的字段值,用英文双引号括起来,这样就能把字段值里面的换行符限制在正确的Excel单元格里面 --解决方案1:可以直接在字段加双引号处理,复制到Excel就不会错位,也不会显示多余的双引号.相当于把字段里的换行限制在单元格内 select '"'+ Name + '"' as Name, Remark from #t 原文

Linux下的换行符\n\r以及txt和word文档的使用

Linux doc WINDOWS下记事本编写的文档和LINUX下VIM或者GEDIT等编写的文档的不同! 例如WINDOWS下编写的SH脚本,放到LINUX下执行可能会出错. 解决方法: 原因是:Windows下换行符号是“\r\n”,而linux下是“\n”没有”\r”,当shell文件是在Windows下编写的时候,所有的换行符都是“\r\n”,shell下是没办法执行这个文件的,会提示以上错误.请在ultraedit下将该文件执行“File->conversions->Dos to U

C#(去、过滤)掉字符中的换行符

原文:C#(去.过滤)掉字符中的换行符 原文地址: http://www.feedou.com/articlepickservlet?commandkey=singlearticle&articleID=5c42b75f1b435084011b49ba083217d4 本文介绍的方法需要先导入命名空间:usingSystem.Text.RegularExpressions; 字符串里所有的的换行符都去掉:textStr = Regex.Replace(textStr, @"[/n/r]&

小小换行符乱谈(文本文件vs二进制文件)

使用 C 语言的 fopen 打开文件时,可以指定的 mode 有 12 个,其中 6 个包含  "b" 使用 C++ 的 fstream 打开文件时,可用的模式组合有 24 个(?),其中 12 个包含  "binary" 使用 python 的 open 打开文件,除了可以使用 C 中的 12 个模式外,还可以使用  "U" 或 "rU" 使用 Qt 库的 QFile 打开文件时,可以指定  QIODevice::Text

点星 (。*)表示任意数量的字符(不包括换行符)

点 .表示任意字符,不包括换行符 .\n表示换行符 星 * 表示任意数量 \b 表示单词的开始或结束 \s表示空格 表示数量的还有 + ,? +表示重复一次或更多次 ?表示重复零次或一次 *表示重复零次或更多次 ^表示字符串的开始 $表示字符串的结束 和\b类似. \表示转义字符 \\表示字符\本身.如:c:\\windows 表示c:\windows \(?0\d{2}[) -]?\d{8}. “(”和“)”也是元字符,后面的分组节里会提到,所以在这里需要使用转义. 这个表达式可以匹配几种格式

sed 用法之如何替换换行符

方法一: # echo -e "1\n2\n3\n4" | sed ':a;N;$!ba;s/\n/,/g' 1,2,3,4 sed ':a;N;$!ba;s/\n/,/g' 这将在一个循环里读取整个文件,然后将换行符替换成逗号. 说明: 通过 :a创建一个标记 通过N追加当前行和下一行到模式区域 如果处于最后一行前,跳转到之前的标记处. $!ba ($! 意思是不在最后一行做这操作 (最后一行就被当成最后的一行). 最后置换操作把模式区域(就是整个文件)的每一个换行符换成逗号. Fr

php去除换行符的方法小结(PHP_EOL变量的使用)

本来在unix世界换行就用/n来代替,但是windows为了体现他的不同,就用/r/n,更有意思的是在mac中用/r.因此unix系列用 /n,windows系列用 /r/n,mac用 /r,这样就用你写的程序在不同的平台上运行有着不少的麻烦 一个小小的换行,其实在不同的平台有着不同的实现,为什么要这样,可以是世界是多样的.本来在unix世界换行就用/n来代替,但是windows为了体现他的不同,就用/r/n,更有意思的是在mac中用/r.因此unix系列用 /n,windows系列用 /r/n