换行符\n和回车符\r的区别

最后编辑于 2020年05月11日 开发

最近在项目中又碰到了在不同系统中处理字符串结尾的情况。在写代码的时候,根据操作系统的不同,以及编程语言的不同,表示一行结束(end of line)的控制字符也有所不同。有的用\r,有的用\n,还有的用\r\n。当Windows文本在Mac中使用时,需要把行结尾的\r\n变为\n;当Mac文本在Windows中使用时,需要把行结尾的\n变为\r\n。

其中,\r,含义是carriage return,回车符,ASCII值为13。\n,含义是newline,换行符,ASCII值为10。

在Unix及Unix分支的各个操作系统中,比如Linux系统,都使用\n来表示一行的结束。

但在OS X版本之前的早期的Mac系统中,则使用\r来表示一行的结束。

在Windows操作系统中,使用\r\n表示一行的结束。

为什么\r\n一起使用时,\r在\n前面呢?那是因为在早期的机电式打字机终端上,需要先向左返回到一行的起点,再向上滚动一行即换下一行。在现在的文本编辑中,一般使用\n就行了。

登录注册后才能评论。