Me preguntaba por qué si abres un archivo de texto hecho en el bloc de notas de Windows en Unix, ¿encontrarás que tiene ^M
donde debería haber una nueva línea?
Entiendo que en Windows, cada línea termina con \r\n
, es decir, 0x0D0A
en ASCII, mientras que ^M
tiene un valor ASCII 0x5E4D
. No puedo relacionar estos dos de uno a otro.
Respuestas:
Tienes razón acerca de que los finales de línea son importantes; ambos sistemas operativos esperan que la línea termine con "\ n", pero Windows también agrega un "\ r" antes de que unix no espere, por lo que los programas de Unix generarán "\ r" a su manera.
El archivo en realidad no termina con los dos caracteres "^" y "M", esa es solo una forma común de representar caracteres no imprimibles. Los programas mostrarán "^" y una letra correspondiente al valor del byte, comenzando con A para 1. M es la letra 13 y '\ r' es el código ASCII 13 (o 0xD, como usted dijo), así que verá "^ METRO"
fuente
dos2unix
yunix2dos
convertir archivos de texto entre formatos.^J
para\n
?