OT: cómo terminan las líneas de un fichero?
buenas, perdon por esta pregunta; es un poco tonta, pero son las típicas cosas que no me planteo... hasta que me choco con ellas. Tengo que preparar la especificación de un fichero de texto plano. Para dos agencias distintas. Una de las agencias me dice que las líneas deben terminar con un CR o un LF (ascii 13 y 50, si mal no recuerdo). Perfecto. La otra agencia no dice nada en su especificación. Mi pregunta es si todas las líneas de un fichero de texto plano deben terminar con uno de estos caracteres obligatoriamente. Estas líneas se generarán automáticamente por el CRM y me pregunto si hay forma de pasar a otra línea sin incluir el CR o el LF. Creo que no, pero alguien me lo puede confirmar? Gracias por adelantado! -- Saludos, miguel
miguel gmail escribió:
buenas,
perdon por esta pregunta; es un poco tonta, pero son las típicas cosas que no me planteo... hasta que me choco con ellas.
Tengo que preparar la especificación de un fichero de texto plano. Para dos agencias distintas.
Una de las agencias me dice que las líneas deben terminar con un CR o un LF (ascii 13 y 50, si mal no recuerdo). Perfecto.
La otra agencia no dice nada en su especificación.
Mi pregunta es si todas las líneas de un fichero de texto plano deben terminar con uno de estos caracteres obligatoriamente. Estas líneas se generarán automáticamente por el CRM y me pregunto si hay forma de pasar a otra línea sin incluir el CR o el LF. Creo que no, pero alguien me lo puede confirmar?
Gracias por adelantado!
-- Saludos, miguel
Hola. En unix las líneas se terminan con LF (normal, no?). Sin embargo en windows se terminan con LF CR. Es por eso que si, por ejemplo, en windows, con el notepad (block de notas) abres un fichero editado y creado con "vi", por ejemplo, verás úna única línea, ya que tras los LF's la aplicación windows no ve el CR. Yo te aconsejaría que especificaras que ambos tipos de terminación de línea sean correctos. No se si hay alguna norma al respecto ... Quizá lo más importante sea especificar la codificación o codificaciones permitidas (UTF-8, ASCII, ISO 8859, ...) Lo desconozco, pero a lo mejor esas normas te digan qué es un fin de línea ...
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2006-03-10 a las 12:42 +0100, miguel gmail escribió:
buenas,
perdon por esta pregunta; es un poco tonta, pero son las típicas cosas que no me planteo... hasta que me choco con ellas.
No es nada tonta.
Tengo que preparar la especificación de un fichero de texto plano. Para dos agencias distintas.
Una de las agencias me dice que las líneas deben terminar con un CR o un LF (ascii 13 y 50, si mal no recuerdo). Perfecto.
La otra agencia no dice nada en su especificación.
No es el 50, es el... caray, cuanto tiempo hace que no hago estas cosas, lo tengo que mirar. El 10. LF 0Ah (10) CR 0Dh (13) Tienes "man ascii" para verlo, por cierto ;-)
Mi pregunta es si todas las líneas de un fichero de texto plano deben terminar con uno de estos caracteres obligatoriamente. Estas líneas se generarán automáticamente por el CRM y me pregunto si hay forma de pasar a otra línea sin incluir el CR o el LF. Creo que no, pero alguien me lo puede confirmar?
Verás... en los unixes se termina con un "0a", o sea, "LF" (linea nueva). En MsDos se termina con "0d 0a", o sea, la combinación "CR,LF"; no estoy seguro si LF,CR se usa también, pero yo lo considero válido. Y debo decir que, por una vez, me gusta más la manera del Dos. Puede que fuera una decisión de IBM, no lo se, o puede que fuera más antiguo, que es lo que yo me sospecho. Es más flexible. Das linea nueva, y luego retorno de carro, es decir, llevar el cursor al principio de linea. Jugando con esos dos caracteres puedes en pantalla vulgaris reescribir en la misma linea, por ejemplo. Yo me sospecho que en unix escogieron usar unicamente LF como terminador de linea para ahorrarse un byte... Hay programas que saben esto, y cualquiera de las dos formas la interpretan como fin de linea: eso es lo que yo haría actualmente. Puede que la librería estandar del C haga eso precisamente, no lo se. Deberia, EMO. En cuanto a como generaría yo el fichero, pues depende que que máquinas lo vayan a leer (dos o unix). Puedes incluso dejarlo configurable. - -- Saludos Carlos Robinson -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFEEX+TtTMYHG2NR9URAmLMAJ9uNcSVJDS4Cinz7gPWE/0EAxRzdACgjIlP cVIndFPpjwgTGgLj6qdx+mE= =sOoa -----END PGP SIGNATURE-----
El 10/03/06, Carlos E. R.
-----BEGIN PGP SIGNED MESSAGE-----
[...]
Hay programas que saben esto, y cualquiera de las dos formas la interpretan como fin de linea: eso es lo que yo haría actualmente. Puede que la librería estandar del C haga eso precisamente, no lo se. Deberia, EMO.
En cuanto a como generaría yo el fichero, pues depende que que máquinas lo vayan a leer (dos o unix). Puedes incluso dejarlo configurable.
solamente un comentario.. puedes tener tambien las dos versiones del archivo, utilizando el comando flip para convertilos y creo que tambien hay (habia) un dos2unix y unix2dos !!!! salu2. -- -- Victor Hugo dos Santos Linux Counter #224399
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2006-03-10 a las 11:51 -0300, Victor Hugo dos Santos escribió:
solamente un comentario.. puedes tener tambien las dos versiones del archivo, utilizando el comando flip para convertilos y creo que tambien hay (habia) un dos2unix y unix2dos !!!!
flip no lo conozco, pero los otros dos si, y están en la distro. dos2unix - DOS/MAC to UNIX text file format converter Pero han cambiado, antes eran un alias a otro programa... tengo que confirmar eso. :-? - -- Saludos Carlos Robinson -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFEEZkstTMYHG2NR9URAg6AAJ40xs5I16povksrgj4GoCgdCpiCvgCcCMg6 ViYV+dCLKhFZuVPi67It7pw= =TC2U -----END PGP SIGNATURE-----
participants (4)
-
Carlos E. R.
-
Luis O.
-
miguel gmail
-
Victor Hugo dos Santos