2008-11-02 16 views
8

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

8

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.

+0

El principio de robustez es la causa de la sopa HTML. ¡Maldito el principio! :-) –

+0

también debería aceptar solo CR, porque algunos sistemas anteriores solo usaban CR. –

+0

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

2

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.

+0

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). –

Cuestiones relacionadas