En JavaScript esto era un problema de compatibilidad entre navegadores, por lo que ambos se usaron, pero hay numerosas instancias en diferentes idiomas donde veo ambos impresos juntos como \ r \ n. ¿Sigue siendo esta la norma generalmente exceptuada de que siempre debes usar ambos, o hay alguna vez en la que los idiomas los comprendan y termines con un descanso y un retorno?¿El retorno de carro ry la nueva línea n siempre deben usarse juntos? r n
Respuesta
El par CRLF es el marcador esperado de final de línea (EOL) en la mayoría de los protocolos de Internet.
Aquí debe aplicarse el "Principio de robustez" de Postel. Sea liberal en lo que acepta, pero estricto en lo que envía. Por lo tanto, prepárese para recibir solo un LF, pero si está enviando datos, use lo que requieran los estándares relevantes.
Esto no es un problema de compatibilidad de idioma, sino un problema de archivo o de protocolo. En cuanto a los archivos: Unix usa \ n como retorno de carro, Windows usa \ r \ n y creo que MacOS usó (no estoy seguro de ahora) \ r. Muchos lenguajes 'multiplataforma' resumen esto en una variable dependiente de la plataforma. Protocolo-sabio: qué especifica el protocolo.
El sistema operativo Macintosh actual (OS X) es Unix y usa nueva línea ('\ n') como separador de línea. CP-M/MS-DOS/Windows use \ r \ n porque las primeras impresoras en modo de caracteres necesitaban un control de caracteres para mover el cabezal de impresión al margen izquierdo (\ r) y uno para avanzar el papel en una línea (\ norte). –
- 1. Lectura \ r (retorno de carro) vs \ n (nueva línea) desde la consola con getc?
- 2. Git: convertir retorno de carro \ r a la nueva línea \ n con git hook?
- 3. diferencia entre \ ry \ n
- 4. ¿Hay una línea nueva = \ n OR \ r \ n?
- 5. Retorno de carro y nueva línea con Java y readLine()
- 6. Encontrar salto de línea y retorno de carro (\ r \ n) en MySQL
- 7. jQuery nueva línea \ n
- 8. ¿El retorno de carro de Windows \ r \ n consta de dos caracteres o un carácter?
- 9. nueva línea "\ n" en el archivo yaml
- 10. Retorno de carro, avance de línea y nueva línea
- 11. ¿Cuál es la diferencia entre \ n y \ r?
- 12. ¿Por qué Silverlight TextBox usa \ r para una línea nueva en lugar de Environment.Newline (\ r \ n)?
- 13. ¿Cuál es la diferencia entre \ n y \ r \ n?
- 14. Reemplazando "\ r \ n" por "\ n"
- 15. Publicar nueva línea/retorno de carro como valor de campo oculto
- 16. Vim: \ n vs. \ r
- 17. Eliminación de retorno de carro y nueva línea del final de una cadena en C#
- 18. Nueva línea ("\ n") en PHP no funciona
- 19. QString :: split() y "\ r", "\ n" y "\ r \ n" convención
- 20. RichTextBox no procesando nuevos caracteres de retorno de línea/carro
- 21. Reemplazar \ n con \ r \ n en el archivo Unix
- 22. diferencia entre PHP \ r \ n \ n
- 23. Regex (C#): Reemplace \ n con \ r \ n
- 24. Regex para despojar \ r \ n o \ r \ n
- 25. ¿Qué salto de línea en el encabezado de php mail, \ r \ n o \ n?
- 26. NSstring nslog que revela el carácter "\ n" de nueva línea
- 27. ¿Podemos agregar retorno de carro ('\ n') al archivo resx en el teléfono de Windows?
- 28. ¿Por qué "\ n" da una nueva línea en Windows?
- 29. Eliminar carro de retorno/nueva línea en la salida de archivo
- 30. ¿Es O (log n) siempre más rápido que O (n)
El principio de robustez es la causa de la sopa HTML. ¡Maldito el principio! :-) –
también debería aceptar solo CR, porque algunos sistemas anteriores solo usaban CR. –
No, debes ser bastante estricto en lo que aceptas y muy estricto en lo que emites. Esto reduce los errores inesperados cuando algo intenta adivinar qué significa una posible ambigüedad en lugar de simplemente rechazarla. – staticsan