我想知道为什么如果你在unix下打开一个用Windows记事本制作的文本文件你会发现它有^M
一个新行的地方?
我的理解是,在Windows中,每一行都以 结尾\r\n
,即 0x0D0A
ASCII,而^M
有ASCII值0x5E4D
。我无法将这两者联系起来。
答案1
你说的行尾很重要是对的;两个操作系统都希望该行以“\n”结尾,但 Windows 还在该行之前添加了一个“\r”,而 unix 不希望如此,因此 unix 程序将以自己的方式输出“\r”。
该文件实际上并不以“^”和“M”这两个字符结尾,这只是表示不可打印字符的常见方式。程序将输出“^”和对应于该字节值的字母,从A开始为1。M是第13个字母,'\r'是ASCII码13(或如你所说的0xD),所以你看到“^”米”