可打印字符中0x0a和0x0d学习

用python 处理可打印字符时ord(c) >= 32 and ord(c) <= 126 or ord(c) == 0x0a or ord(c) == 0x0d

其中 0x0D和0x0A不是很理解意思,那个是换行,那个是回车呢?

说实话,不清楚,到网上搜一下吧,看到了,知道了!

回车 代码:CR ASCII码:/ r ,十六进制,0x0d,回车的作用只是移动光标至该行的起始位置;

换行 代码:LF ASCII码:/ n ,十六进制,0x0a,换行至下一行行首起始位置;

Linux和windows下,回车试验 CODE:

sprintf(versionbuf,"%s","TEST_VERSION_1_0_11/rabcdefg/r34567/n");

printf("%s",versionbuf);

均打印输出:

34567fgRSION_1_0_11,证明了以上结论。

其实回车和换行之所以把大家搞迷糊的一个重要原因,是大家把键盘的 “回车键”,0x0d表示“回车”,我们在windows下的txt文件下敲下的回车键等情况搅在了一起。在键盘上敲下回车键,在不同软件下获得字符大有不同。 Windows下在txt文件中敲下回车键,然后16进制观察,你会发现获得了2个字符,0x0d和0x0a,这个大家都知道,但这不意味着,在任何情况下敲下回车键,都会获得0x0d和0x0a。 在linux下,你对一个文件,敲下回车键,你就会发现,它每次只增加一个字符。

/// /r/n 0x0d 0x0a

 回车 换行 回车即光标移动到行首 换行即光标移动到下一行

posted @ 2021-01-07 21:01  Mr.zzz  阅读(389)  评论(0编辑  收藏  举报