.net - codigo - Recordatorio-/ r / n o / n / r?
☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕ ¶§▬↨↑↓→←∟↔▲▼ &'' alt codes (10)
Simplemente no puedo recordar esos. Entonces, ¿cuál es la forma correcta de terminar correctamente las líneas ASCII antiguas?
/r/n
Es extraño decir que lo recuerdo porque es lo opuesto a la máquina de escribir que utilicé.
Bueno, si era normal no tenía necesidad de recordarlo ... :-)
En la máquina de escribir, cuando termine de digitalizar la línea, use la palanca de retorno de carro , que antes hace rodar el tambor, la nueva línea y luego le permite operar manualmente el retorno de carro .
Puede escuchar de este registro de freesound.org el sonido del papel que se alimenta al principio, y alrededor de -1: 03 segundos desde el final, después de la campana de advertencia para el final del sonido de la línea del tambor que rueda y después La del retorno del carro.
De Wikipedia (puede leer lo que es correcto para su sistema operativo en ese artículo):
Los sistemas basados en ASCII o un conjunto de caracteres compatibles utilizan LF (Avance de línea, ''/ n'', 0x0A, 10 en decimal) o CR (Retorno de carro, ''/ r'', 0x0D, 13 en decimal) individualmente o CR seguido de LF (CR + LF, ''/ r / n'', 0x0D0A).
En cualquier lenguaje .NET, Environment.NewLine
sería preferible.
La nueva línea depende de tu sistema operativo:
DOS & Windows: /r/n 0D0A (hex), 13,10 (decimal)
Unix & Mac OS X: /n, 0A, 10
Macintosh (OS 9): /r, 0D, 13
Más detalles aquí: https://ccrma.stanford.edu/~craig/utility/flip/
En caso de duda, use cualquier visor / editor hexadecimal gratuito para ver cómo un archivo codifica su nueva línea.
Para mí, utilizo la siguiente guía para que me ayude a recordar: 0D0A = / r / n = CR, LF = ca rr iage r erurn, li n e feed
La secuencia es CR (retorno de carro) - LF (avance de línea). ¿Recuerdas las impresoras matriciales? Exactamente. Entonces, el orden correcto es / r / n
Si está utilizando C #, ¿por qué no usar Environment.NewLine
? (Supongo que utiliza algunos objetos de escritura de archivos ... simplemente páselo Environment.NewLine
y manejará los terminadores correctos.
Si está utilizando C #, debe usar Environment.NewLine
, que de acuerdo con MSDN es:
Una cadena que contiene "/ r / n" para plataformas no Unix, o una cadena que contiene "/ n" para plataformas Unix.
Tenga cuidado al hacer esto manualmente.
De hecho, aconsejaría no hacer esto en absoluto.
En realidad, estamos hablando de la secuencia de terminación de línea LTS que es específica de la plataforma.
Si abre un archivo en modo de texto (es decir, no binario), las secuencias convertirán el "/ n" en el LTS correcto para su plataforma. Luego, vuelva a convertir el LTS a "/ n" cuando lea el archivo.
Como resultado, si imprime "/ r / n" en un archivo de Windows obtendrá la secuencia "/ r / r / n" en el archivo físico (eche un vistazo con un editor hexadecimal).
Por supuesto, esto es un verdadero problema cuando se trata de transferir archivos entre plataformas.
Ahora, si está escribiendo en una transmisión de red, lo haría de forma manual (ya que la mayoría de los protocolos de red lo dicen específicamente). Pero me aseguraría de que la transmisión no esté haciendo ninguna interpretación (por lo que el modo binario era apropiado).
Usaría la palabra '' r etur n '' para recordar, la r aparece antes de la n.
/r/n
para Windows funcionará bien.