Aku tidak bisa mengingatnya. Jadi, apa cara yang tepat untuk mengakhiri jalur ASCII kuno dengan benar?
Aku tidak bisa mengingatnya. Jadi, apa cara yang tepat untuk mengakhiri jalur ASCII kuno dengan benar?
Jawaban:
Saya akan menggunakan kata ' r etur n ' untuk mengingat, r muncul sebelum n.
\n\r
dan \r\n
sama, bukankah mereka melakukan efek yang sama? dapatkah Anda membedakannya?
Jika Anda menggunakan C # Anda harus menggunakan Environment.NewLine
, yang sesuai dengan MSDN itu adalah:
String yang berisi "\ r \ n" untuk platform non-Unix, atau string yang berisi "\ n" untuk platform Unix.
Environment.NewLine
tidak masalah. Namun, jika Anda menulis sesuatu dalam format yang terdefinisi dengan baik, format tersebut juga dapat menentukan baris baru. Sebagai contoh, protokol HTTP menyatakan Anda harus menggunakan \r\n
sebagai terminator baris untuk header dll, terlepas dari platform.
Baris baru tergantung pada OS Anda:
DOS & Windows: \r\n 0D0A (hex), 13,10 (decimal)
Unix & Mac OS X: \n, 0A, 10
Macintosh (OS 9): \r, 0D, 13
Lebih detail di sini: https://ccrma.stanford.edu/~craig/utility/flip/
Jika ragu, gunakan hex viewer / editor freeware apa pun untuk melihat bagaimana suatu file mengkodekan baris baru.
Bagi saya, saya menggunakan panduan berikut untuk membantu saya mengingat: 0D0A = \ r \ n = CR, LF = ca rr iage r eturn, li n e feed
0D0A
, tetapi masih membingungkan \r
dan \n
.
Urutannya adalah CR (Carriage Return) - LF (Line Feed). Ingat printer dot matrix? Persis. Jadi - urutan yang benar adalah \ r \ n
Dalam bahasa apa pun .NET, Environment.NewLine
lebih disukai.
Berhati-hatilah dengan melakukan ini secara manual.
Sebenarnya saya akan menyarankan untuk tidak melakukan ini sama sekali.
Pada kenyataannya kita berbicara tentang urutan terminasi garis LTS yang khusus untuk platform.
Jika Anda membuka file dalam mode teks (mis. Bukan biner) maka stream akan mengubah "\ n" menjadi LTS yang benar untuk platform Anda. Kemudian, ubah LTS kembali ke "\ n" saat Anda membaca file.
Akibatnya jika Anda mencetak "\ r \ n" ke file windows Anda akan mendapatkan urutan "\ r \ r \ n" dalam file fisik (lihat dengan hex editor).
Tentu saja ini sangat menyebalkan saat mentransfer file antar platform.
Sekarang jika Anda menulis ke aliran jaringan maka saya akan melakukan ini secara manual (karena sebagian besar protokol jaringan menyebutnya secara khusus). Tapi saya akan memastikan aliran tidak melakukan interpretasi (jadi mode biner sesuai).
\r\n
untuk Windows akan baik-baik saja.
\n
juga baik-baik saja di windows, termasuk Notepad versi terbaru.
Dari Wikipedia (Anda dapat membaca mana yang benar untuk OS Anda di artikel itu):
Sistem berdasarkan ASCII atau rangkaian karakter yang kompatibel menggunakan LF (Umpan baris, '\ n', 0x0A, 10 dalam desimal) atau CR (Pengembalian kereta, '\ r', 0x0D, 13 dalam desimal) secara individu, atau CR diikuti oleh LF (CR + LF, '\ r \ n', 0x0D0A).
\r\n
Aneh mengatakan saya mengingatnya karena itu adalah kebalikan dari mesin tik yang saya gunakan.
Nah jika itu normal saya tidak perlu mengingatnya ...:-)
Dalam mesin ketik saat Anda selesai untuk mendigit garis yang Anda gunakan tuas carriage return , yang sebelum membuat roll drum, baris baru , dan setelah memungkinkan Anda untuk mengoperasikan carriage return secara manual .
Anda dapat mendengarkan dari rekaman ini dari freesound.org suara dari kertas yang masuk di awal, dan sekitar -1: 03 detik dari akhir, setelah bel peringatan untuk akhir suara garis drum yang menggulung dan setelah salah satu carriage return.