首页 > 代码库 > \r\n 回车换行浅析
\r\n 回车换行浅析
\r \012 10 x0a return\n \015 13 x0d newline
Unix系统里,每行结尾只有“<换行>”,即“\n”;
Windows系统里面,每行结尾是“<回车><换行>”,即“\r\n”;
Mac系统里,每行结尾是“<回车>”。
一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。
实验1:
先生成一个换行(\n, 0x0A)和回车(\r, 0x0D)组合的文本
$ echo -en ‘12\n34\r56\n\r78\r\n‘ > tmp
以十六进制方式查看文本
$ od -t x1 tmp0000000 31 32 0a 33 34 0d 35 36 0a 0d 37 38 0d 0a0000016
// 0000016, 8进制表示长度
/r/n -> ^M
/n/r -> 换行 + ^M
不同进制输出文件内容
od dump files in octal and other formats
hexdump ascii, decimal, hexadecimal, octal dump
实验2:
1、^M 是ascii中的‘\r‘, 回车符,是16进制的0x0D,八进制的015,十进制的13
^M在vi编辑器中可以使用Ctrl+ v + m三个键打出来 ,双字节字符
$ od -t x1 cc0000000 0d 0a0000002
2、直接在vim 中输入 ^M
$ od -t x1 dd0000000 5e 4d 0a0000003
\r\n 回车换行浅析
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。