Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Leguim en 30 Noviembre 2019, 05:17 am



Título: [Pregunta]: ¿Es normal que los saltos de lineas sean 2 caracteres?
Publicado por: Leguim en 30 Noviembre 2019, 05:17 am
Buenas noches,

tengo un textdraw donde si ingreso el mensaje es "a" va a devolver 1 (estoy contando la cantidad de caracteres con mb_strlen[multibyte]), pero si el mensaje es

"a
 b"

con un salto de linea y sin espacios en blanco me va a devolver 4 ¿El salto de linea es normal que cueste 2 caracteres?

Imagino que tenga que ver con mb_ pero no estoy seguro.


Título: Re: [Pregunta]: ¿Es normal que los saltos de lineas sean 2 caracteres?
Publicado por: engel lex en 30 Noviembre 2019, 07:07 am
en la codificacion de windows si, yaa que es \r\n (se conoce como crlf) en linux será solo \n (solo LF)


Título: Re: [Pregunta]: ¿Es normal que los saltos de lineas sean 2 caracteres?
Publicado por: Serapis en 30 Noviembre 2019, 15:27 pm
No es por cabezonería que sean 2 caracteres.

Viene de las máquinas de escribir mecánicas...
Cuando escribías, el carro (que soporta el rodillo que contiene el papel) se iba desplazando a la izquierda (las teclas repiquean siempre en un sitio fijo en la maquinaria), por lo que al pasar a una nueva línea exigía desplazar el carro completamente a la derecha.
...pero si sólo desplazabas el carro, y seguías escribiendo, sobreescribías la misma línea. Luego falrtaba un segundo mecanismo...
Girar el rodillo para acceder a la siguiente línea.
En el mecanismo, cuando desplazas el carro al llegar al tope, hay un moviemiento extra que siguiendo empujando entra en acción otro mecanismo que es el que hace girar el rodillo que mueve el papel arriba.

Cuando se crearon los primeros teclados, para la informática, básicamente se trataba de reproducir tanto las teclas como los mecanismos de la máquina de escribir que por supuesto llevaba muchas décadas de perfeccionamiento... como por ejemplo el bloqueo de las mayúsculas (que en la máquina de escribir variaba verticalmente el soporte donde están enclavadas todas las teclas, de modo que una copia en mayúsculas de cad aletra ahora e sla que golpeaba donde golpeaban las minúsculas).

En fin, la sorpresa es realmente que haya sistemas que usen un solo carácter, porque si solo:
- Avanzas la línea: Solo estarías escribiendo una línea más abajo, pero en la misma posición (columna) que la actual.
- Retrocedes el carro: Solo estarás llevando la columna al comienzo, pero en la misma línea.
Luego lo exactamente correcto es tener 2 caracteres, cada uno hace una cosa. Y cada carácter individual debiera hacer solo la parte que le corresponde.