代码改变世界

关于0x0d和0x0a回车换行\r和\n

2011-03-07 15:38  bingcaihuang  阅读(37832)  评论(2编辑  收藏  举报

用QT的Win_QextSerialPort调试串口程序时,通过qint64 write(const char *data, qint64 len)把数据写到串口,由于windows系统下,回车是由两个字符构成的,“0x0d”和“0x0a”

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

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

在键盘上敲下回车键,在不同软件下获得字符大有不同。 Windows下在txt文件中敲下回车键,然后16进制观察,你会发现获得了2个字符,0x0d和0x0a,这个大家都知道,但这不意味着,在任何情况下敲下回车键,都会获得0x0d和0x0a。 在linux下,你对一个文件,敲下回车键,你就会发现,它每次只增加一个字符0x0d。

windows下写串口的时候要写\r\n。