2010-01-19 30 views
7

Có ai biết lý do ban đầu hay câu chuyện về các nền tảng khác nhau mà mỗi nền tảng lựa chọn khác nhau, nhưng tương tự với mức độ nào đó, đại diện dòng mới? Phải có một số quyết định thiết kế ban đầu. (Tôi không tin rằng đây là tất cả các lựa chọn ngẫu nhiên ...)Lý do lựa chọn sự khác biệt biểu diễn dòng mới của Unix, Mac, DOS/Windows?

  • Unix/Mac OS X: LF (\ n)
  • Mac OS 9 và trước: CR (\ r)
  • DOS/Windows: CRLF (\ r \ n)
+2

Tôi cảm thấy có nghĩa vụ liên kết tới "The Great Newline Schism" của Jeff Atwood: http://www.codinghorror.com/blog/archives/001319.html –

+0

Tôi đề nghị bạn đăng liên kết đó trong một câu trả lời Michael –

+0

@Michael Tôi sẽ đặt nhận xét đó làm liên kết :) – helios

Trả lời

9

Jeff Atwood gửi về chủ đề này rất trong "The Great Newline Schism"

Wikipedia bao gồm các history of newline.

Tóm lại, CR + LF là tham chiếu đến các ngày máy đánh chữ điện khi bạn lần đầu tiên sử dụng trở về vận chuyển để di chuyển con trỏ sang bên trái và nguồn cấp dữ liệu dòng để di chuyển xuống một dòng. Bạn sẽ thỉnh thoảng chỉ sử dụng một hoặc khác để viết các ký tự đặc biệt như gạch dưới hoặc tấn công.

CRLF

Máy tính thông qua thuật ngữ này vì nó là hữu ích để tương tác với teletype máy. Đây là lý do tại sao MS-DOS và sau đó Windows sử dụng CRLF.

LF

Rõ ràng, Multics và sau đó Unix mất chính các dự thảo 1963-1964 của dự thảo tiêu chuẩn ISO mà chỉ ra rằng một trong hai CRLF hoặc LF có thể đại diện xuống dòng, và đi với nhân vật LF duy nhất.

CR

tôi vẫn còn một chút bối rối về lịch sử của táo áp dụng CR. Tôi đang xem xét nó ... Cho đến nay, dự đoán tốt nhất của tôi là điều này là do sự phân biệt ban đầu của Apple giữa enter and return keys. Trong những ngày đầu, khóa trả về được ánh xạ tới một dấu xuống dòng và phím nhập vào một nguồn cấp dữ liệu dòng, thay vì có một phím "enter" duy nhất thực hiện nhiệm vụ gấp đôi, như trong thế giới Windows. Đối với những người dùng máy đánh chữ, những người thường xuyên sử dụng trở về vận chuyển để định dạng đặc biệt, điều này có thể có ý nghĩa để tách hai và quả táo đã làm, trên thực tế, sử dụng phím quay lại cho các tùy chọn định dạng đặc biệt.

Trường hợp tôi không chắc chắn như thế nào, khi họ từ bỏ điều này, họ đã quyết định chỉ sử dụng CR, nhưng tôi đoán là ngày đến quyết định sớm này để sử dụng CR cho khóa quay lại ... nhưng tôi có thể sai rồi.

2

Vâng, \ r \ n là vận chuyển Trở về sau đó Linefeed, là cùng một chuỗi khóa được sử dụng để bắt đầu một dòng mới từ cột bên trái trên máy đánh chữ.

Các vấn đề liên quan