Unix Linux Mac 與 Windows 的換行符不統一的原因 目的是什麼?

時間 2021-05-30 12:39:17

1樓:Belleve

你們都沒抓住重點

CR 和 LF 最初是控制電傳印表機(Teletype,所以 UNIX 裡面有個 tty,就是這玩意的縮寫)的,CR 把列印頭移動到行首,LF 把紙上捲一行,因為 CR 要的時間更長所以一般要求換行的過程裡面都是 CR 在前(有些早期裝置甚至還會在 CR 和 LF 之間插 NUL,確保列印頭完成復位)。DOS 從 DEC 和 CP/M 那裡繼承了這個設計,這樣文字檔案的位元組序列可以直接控制印表機。

而 Unix 的前身 Multics 裡面有乙個驅動程式,會自動將 LF 轉換成 CR-LF(甚至 CR-NUL-LF),所以他們用了單一的 LF。

2樓:叛逆者

@章程 已經講得差不多了,我補充一點。

來自著名的The Old New Things:

Why is the line terminator CR+LF?

If you go to the various internet protocol documents, such as

RFC 0821 (SMTP),

RFC 1939 (POP),

RFC 2060 (IMAP),

or RFC 2616 (HTTP),

you』ll see that they all specify CR+LF as the line termination

sequence.

So the the real question is not 「Why do CP/M, MS-DOS, and Win32 use CR+LF

as the line terminator?」 but rather 「Why did other people

choose to differ from these standards documents and use some other

line terminator?」

換句話說,Unix系才是不遵守標準協議的一方。

3樓:

因為那時的儲存裝置非常昂貴,一些人認為在每行的結尾加兩個字元用於換行,實在是極大的浪費,於是各個廠商在這一點上便出現了分歧。

所以2023年設計的Multics系統就使用了LF2023年設計的CP/M,考慮到相容早期的老式機器,使用了CRLF兩家的繼承者們從此就分道揚鑣了

—————

我個人懷疑是2023年硬體更便宜了,所以Digital Research Inc.才會願意浪費錢,去相容老裝置。

至於Mac OS X已經完全放棄過去,改投到Unix門下。

4樓:小蝶驚鴻

是我,是我先,明明都是我先的。。。制定規則也好,實現標準也好,還是系統上線也好。

第一次,制訂了標準還按照CRLF來實現兩份的規則互相重疊這重疊的規則又帶來了更好的相容性本應該得到了夢幻一般的業界支援然而,為什麼,會變成這樣?

iPad mini Retina 資料版與 WiFi 版和 3G 路由器的組合應該選擇哪個?

配諾基亞 lumia 1320,網路共享用藍芽共享。1320的3200MAH電池配上windows phone系統,超級省電。1320的藍芽常開,只要ipad上藍芽一連線,1320的網路共享會自動開啟。藍芽斷開,網路共享會自動關閉。 左志堅 3G版本。3G路由等於多帶個裝置,很麻煩。3G版本還有倆額...

Windows XP Embedded 和 Windows 8 有什麼關係?

沒有直接關係 Windows 8,是針對普通使用者的系統,是XP,Vista,7,之後公升級 Embedded,是乙個嵌入系統,針對一些特定領域的定製系統,這裡是一標準系統的XP等核心作為元件定製,其授權費用比單獨系統要低,還有乙個值針對其他CPU硬體的,不過這塊市場被Linux啃食很嚴重 Embe...

支援Windows Hello功能 微軟Win10 Linux子系統

kk大魔王 想,就讓父母看到自己可以為之努力的決心,跟他們多聊聊什麼是藝考,自己究竟喜歡什麼。他們其實沒有我們想象的那麼頑固,我也是勇敢的說出來才發現他們其實也會支援,加油哦 Wei瀟楓 首先,面對這個問題,我們首先有兩點需要考慮 第乙個我藝考是為了考學有乙個本科大學可以讀 第二個就是我真正的熱愛藝...