带着问题我们一起来理解下CRLF
回车与换行的差异,CRLF、CR、LF详解(\r \n \r\n的差异)
缩写
ASCⅡ转义
系统
ASCⅡ值
CR
\r
MacIntosh(早期的Mac)
13
LF
\n
Unix/Linux/Mac OS X
10
CR LF
\r\n
Windows
很长一段韶光里,对付CRLF、CR、LF的理解仅限于不同操作系统下对换行符的定义。所谓知其然需知其以是然,从学习中找到乐趣,对知识的影象才会更加深刻。
名词阐明CR:Carriage Return,对应ASCII中转义字符\r,表示回车LF:Linefeed,对应ASCII中转义字符\n,表示换行CRLF:Carriage Return & Linefeed,\r\n,表示回车并换行 众所周知,在不同的操作系统和编程环境中,换行符的表示办法可能会有所不同。一些常见的表示办法包括:
Windows操作系统采取两个字符来进行换行,即CRLF;Unix/Linux/Mac OS X操作系统采取单个字符LF来进行换行;其余,MacIntosh操作系统(即早期的Mac操作系统)采取单个字符CR来进行换行。须要把稳的是,不同的编程措辞和文本处理工具对换行符的处理办法可能有所不同。在处理文本时,要把稳利用适当的换行符表示办法,以确保文本在不同系统和环境中的精确显示和解析。
野史老式机器打字机(来源:视觉中国)
据野史记载,在良久以前的机器打字机时期,CR和LF分别具有不同的浸染:LF会将打印纸张上移一行位置,但是保持当前打字的水平位置不变;CR则会将“Carriage”(打字机上的滚动托架)滚回到打印纸张的最左侧,但是保持当前打字的垂直位置不变,即还是在同一行。
当CR和LF组合利用时,则会将打印纸张上移一行,且下一个打字位置将回到该行的最左侧,也便是我们本日所理解的换行操作。
随着韶光的推移,机器打字机逐渐地退出了历史舞台,当初的纸张变成了本日的显示器,打字机的按键也演化为了如今的键盘。在操作系统涌现的年代,受限于内存和软盘空间的不敷,一些操作系统的设计者决定采取单个字符来表示换行符,如Unix的LF、MacIntosh的CR。他们的意图都是为了进行换行操作,只是当初并没有一个国际标准(或者其他缘故原由,鬼知道),以是才有这样字符上的不同。
结论许多当代的文本编辑器和命令行工具都供应了可选择的换行符配置,方便用户按照自己的意愿来改变换行符的表现形式,以是我们只须要知道CRLF、CR、LF的浸染即可。
兼容获取字符长度的js写法
function getCharacterCount(textarea) { var value = textarea.value; var lineBreaks = (value.match(/\r\n|\r|\n/g) || []).length; var characterCount = value.length + lineBreaks; return characterCount;}
末了来一张图,大家认识这是什么嚒?
#程序员##苏州资情##苏州头条##独墅湖高教区##换行符##JavaScript WEB前端开拓#