本帖最后由 ALTIUM2 于 2015-9-14 23:02 编辑
每天解决一个问题20:小小的转义符号\r与\n
我们调试时,都喜欢用跟串口线打印输出,用串口小助手刷刷刷的打印我们监视的内容。经常我们打印完一句完整的信息就换下一行,清楚明白!
也许是window下 \r\n 换行用习惯了,忽然有一天发现历程中很多错误的 \n\r 不知道是为啥,难道会有特别的意思?
所以自己也学习了,和大伙分享
(1)字面意思与作用 \n是换行,英文是New line,表示使光标到行首 \r是回车,英文是Carriage return,表示使光标下移一格
(2)转义字符ASCII \n LF或ASCII中的0x0A(10)
\r CR或ASCII中的0x0D(13)
(3)不同系统换行符不同 /r Mac
/n Unix/Linux
/r/n Windows(我们用的是这种把)
(4)“/r/n“的历史故事
在平时使用电脑时,敲一个回车键,即是回车,又是换行。 但在早期的打字机上,要另起一行打字需要两个步骤,首先要发送命令"/r”将打字头复位,即回车,然后再发送命令"/n”让打字机走纸移到下一行,所以这个历史遗留问题导致了如今我们在DOS-Windows的系统里需要区分"/r/n”和“/n”,但在Unix中只有"/n”。
所以我们在window下换行需要输入"/r/n”,也可以ASCII连续输出0x0D,0x0A,实现换行了把!
|