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