Perbedaan antara CR LF, LF dan CR line break jenis?

I'd ingin tahu perbedaan (dengan contoh jika mungkin) antara CR LF (Windows), LF (Unix) dan CR (Macintosh) line break jenis.

Mengomentari pertanyaan (7)

CR dan LF adalah karakter kontrol, masing-masing dikodekan 0x0D (13 desimal) dan 0x0A (10 desimal).

Mereka digunakan untuk menandai satu baris dalam file teks. Seperti yang anda menunjukkan, Windows menggunakan dua karakter CR LF urutan; Unix hanya menggunakan LF dan lama MacOS ( pra-OSX MacIntosh) digunakan CR.

Apokrif perspektif sejarah:

Seperti yang ditunjukkan oleh Petrus, CR = Carriage Return dan LF = Line Feed, dua ekspresi memiliki akar mereka di mesin tik tua / TTY. JIKA pindah kertas (tapi terus posisi horizontal identik) dan CR membawa kembali "pengangkutan" jadi yang berikutnya karakter yang diketik akan berada di posisi paling kiri pada kertas (tapi pada baris yang sama). CR+LF melakukan keduanya, yaitu mempersiapkan diri untuk mengetik baris baru. Seiring berjalannya waktu fisik semantik kode tidak berlaku, dan sebagai memori dan floppy disk ruang adalah pada premium, beberapa OS desainer memutuskan untuk hanya menggunakan satu karakter, mereka hanya didn't berkomunikasi sangat baik dengan satu sama lain ;-)

Paling modern editor teks dan teks aplikasi berorientasi menawarkan pilihan/pengaturan dll. yang memungkinkan deteksi otomatis dari file's end-of-line dan konvensi untuk menampilkan sesuai.

Komentar (4)

Ini adalah sebuah ringkasan yang saya temukan:

Carriage Return (CR) karakter (0x0D, \r) memindahkan kursor ke awal baris tanpa maju ke baris berikutnya. Karakter ini digunakan sebagai karakter baris baru di Commodore dan Awal Macintosh sistem operasi (OS-9 dan sebelumnya).

Line Feed (LF) karakter (0x0A, \n) memindahkan kursor ke baris berikutnya tanpa kembali ke awal baris. Karakter ini digunakan sebagai karakter baris baru di sistem berbasis UNIX (Linux, Mac OSX, dll)

The End of Line (EOL) urutan (0x0D 0x0A, \r\n) sebenarnya adalah dua karakter ASCII, kombinasi CR dan LF karakter. Bergerak kursor keduanya turun ke baris berikutnya dan ke awal baris tersebut. Karakter ini digunakan sebagai karakter baris baru di sebagian besar non-Unix sistem operasi termasuk Microsoft Windows, Symbian OS dan lain-lain.

Sumber

Komentar (2)
Larutan

It's benar-benar hanya tentang byte yang disimpan dalam sebuah file. CR adalah bytecode untuk carriage return (dari hari-hari dari mesin ketik) dan JIKA demikian pula, untuk line feed. Itu hanya mengacu pada byte yang ditempatkan sebagai end-of-line marker.

Cara informasi lebih lanjut, seperti biasa, pada wikipedia.

Komentar (2)

Sejak ada's tidak ada jawaban yang menyatakan hanya ini, yang terangkum singkat:

Carriage Return (MAC pra-OSX)

  • CR
  • \r
  • Kode ASCII 13

Line Feed (Linux, MAC OSX)

  • LF
  • \n
  • Kode ASCII 10

Carriage Return dan Line Feed (Windows)

  • CRLF
  • \r\n
  • Kode ASCII 13 dan kemudian kode ASCII 10

Jika anda melihat kode ASCII dalam aneh format, mereka hanya nomor 13 dan 10 di berbagai radix/dasar, biasanya basis 8 (oktal) atau basis 16 (heksadesimal).

http://www.bluesock.org/~willg/dev/ascii.html

Komentar (0)

Jeff Atwood telah baru-baru ini posting blog tentang hal ini: Besar Newline Perpecahan

Berikut ini adalah esensi dari Wikipedia:

urutan CR+LF umum digunakan di awal banyak sistem komputer yang telah mengadopsi mesin teletype, biasanya ASR33, sebagai konsol perangkat, karena urutan ini adalah diperlukan untuk posisi mereka pada printer mulai dari baris baru. Ini sistem, teks sering secara rutin disusun untuk menjadi kompatibel dengan ini printers, karena konsep dari perangkat driver menyembunyikan perangkat keras seperti rincian dari aplikasi itu belum juga dikembangkan; aplikasi harus berbicara langsung ke mesin teletype dan mengikuti konvensi. Pemisahan dua fungsi tersembunyi fakta bahwa kepala cetak tidak bisa kembali dari kanan ke awal baris berikutnya di satu karakter waktu. Itulah sebabnya urutan selalu dikirim dengan CR pertama. Pada kenyataannya, hal itu sering diperlukan untuk mengirim karakter tambahan (asing CRs atau NULs, yang diabaikan) memberikan kepala cetak waktu untuk pindah ke margin kiri. Bahkan setelah teletypes digantikan oleh terminal komputer dengan tinggi baud rate, banyak operasi sistem masih didukung otomatis pengiriman ini mengisi karakter, untuk kompatibilitas dengan terminal lebih murah bahwa diperlukan beberapa karakter kali untuk menggulir layar.

Komentar (9)

CR - kode ASCII 13

LF - kode ASCII 10.

Secara teoritis CR mengembalikan kursor ke posisi pertama (di sebelah kiri). LF feed satu baris memindahkan kursor satu baris ke bawah. Ini adalah cara di hari tua anda dikontrol printer dan teks-mode monitor. Karakter ini biasanya digunakan untuk menandai akhir baris dalam file teks. Berbeda sistem operasi yang digunakan konvensi yang berbeda. Seperti yang anda menunjukkan Windows menggunakan CR/LF kombinasi sementara pra-OSX Mac menggunakan hanya CR dan sebagainya.

Komentar (0)

Sistem berdasarkan ASCII atau kompatibel dengan set karakter yang digunakan baik LF (Line feed, 0x0A, 10 dalam desimal) atau CR (Carriage return, 0x0D, 13 dalam desimal) secara individual, atau CR diikuti oleh LF (CR+LF, 0x0D 0x0A); karakter Ini didasarkan pada printer perintah: line feed menunjukkan bahwa satu baris kertas harus memberi makan keluar dari printer, carriage return menunjukkan bahwa printer pengangkutan harus kembali ke awal baris saat ini.

Berikut ini adalah rincian.

Komentar (0)

Keadaan menyedihkan dari "record separator" atau "line terminator" adalah warisan dari zaman kegelapan komputasi.

Sekarang, kita mengambil untuk diberikan bahwa apa pun yang kita inginkan untuk mewakili dalam beberapa cara yang terstruktur data dan sesuai untuk berbagai abstraksi yang menentukan jalur, file, protokol, pesan, markup, apapun.

Tapi sekali waktu ini wasn't benar. Aplikasi built-in kontrol karakter dan perangkat-pengolahan tertentu. Mati otak sistem yang diperlukan baik CR dan LF hanya punya abstraksi untuk merekam pemisah atau line terminator. CR diperlukan dalam rangka untuk mendapatkan teletype atau video display untuk kembali ke kolom satu dan LF (hari ini, NL, kode yang sama) diperlukan untuk mendapatkan itu untuk maju ke baris berikutnya. Saya kira ide untuk melakukan sesuatu yang lain dari dumping data mentah ke perangkat terlalu kompleks.

Unix dan Mac benar-benar ditentukan abstraksi untuk garis akhir, bayangkan itu. Sayangnya, mereka yang ditentukan yang berbeda. (Unix, ahem, yang datang lebih dulu.) Dan tentu, mereka menggunakan kode kontrol yang sudah "tutup" untuk S. O. P.

Karena hampir semua perangkat lunak operasi hari ini adalah keturunan dari Unix, Mac, atau operasi MS SW, kita terjebak dengan garis mengakhiri kebingungan.

Komentar (0)

NL berasal dari EBCDIC NL = x'15' yang secara logis akan dibandingkan dengan CRLF x'odoa ascii... hal ini menjadi jelas ketika physcally memindahkan data dari mainframe ke midrange. Coloquially (karena hanya arcane orang-orang yang menggunakan ebcdic) NL telah disamakan dengan baik CR atau LF atau CRLF

Komentar (0)