Character-EncodingWindows下生成的每行文本文件末尾的
Windows下生成的每行文本文件末尾的^M
我想知道為什麼如果你在unix下打開一個用Windows記事本製作的文本文件,你會發現它
^M
應該有一個新行?我的理解是,在 Windows 中,每一行都以 結尾
\r\n
,即0x0D0A
ASCII,而^M
具有 ASCII 值0x5E4D
。我無法將這兩者從一個與另一個聯繫起來。
你說得對,行尾很重要。兩個作業系統都希望該行以“\n”結尾,但 Windows 還在 unix 不期望之前添加了一個“\r”,因此 unix 程序將以自己的方式輸出“\r”。
該文件實際上並不以兩個字元“^”和“M”結尾,這只是表示不可列印字元的常用方法。程序會輸出“^”和一個對應字節值的字母,以A開頭表示1。M是第13個字母,’\r’是ASCII碼13(或0xD,如你所說),所以你看到“^米"