Hola amigos.
En este escueto artículo os mostramos como escribir los símbolos y caracteres del código ASCII en la terminal de Linux y en cualquier editor de textos de este sistema operativo.
Como ya sabéis en el sistema operativo Windows estos caracteres se pueden escribir con la combinación del teclado "Alt" + el número del código, y os aparece el carácter escrito.
Pues bien en el sistema operativo Linux la combinación del teclado es "Ctrl" + "Shift" + "u" + el número del código ASCII pero en Hexadecimal.
Podéis convertir cualquier número decimal a Hexadecimal en cualquier calculadora científica.
Aquí os muestro una imagen de los códigos ASCII en decimal, hexadecimal y en html:
Y aquí otra imagen donde os muestro una combinación de filas y columnas para poder saber el código ASCII en hexadecimal:
Con un ejemplo lo entenderéis rápidamente:
Si queremos escribir el símbolo de la cedilla en el terminal, pulsaremos la combinación de teclas "Ctrl" + "Shift" + "u", ahora se nos mostrará en el terminal una letra "u" subrayada, quedando a la espera de que introduzcamos un número del código ASCII en hexadecimal. Viendo esta última imagen vemos que la fila 7 y la columna E es la que contienen la cedilla. Entonces escribiremos 7E.
Y se nos mostrará inmediatamente el símbolo en la terminal.Lo mismo sirve para los editores de texto en Linux.
También deberíais saber que para obtener rápidamente la tabla de códigos ASCII en el mismo terminal de comandos os bastará con escribir en el terminal el siguiente comando:
$ man ascii
Y el programa manual de comandos (man) os mostrará la tabla de los 128 códigos ASCII con sus valores en octal, decimal y hexadecimal.
Imágenes del resultado de salida por terminal:
A parte de estos 128 caracteres ASCII, ¿sabéis que hay mas símbolos que podéis representar en el emulador del terminal de comandos o en cualquier editor de textos de las diferentes distribuciones de GNU/Linux? Son los llamados unicode.
Solo tenéis que mirar en el final del manual man de ASCII. Hay una serie de documentación de símbolos y caracteres catalogados por tipos de lenguas según unas ISO. Os lo resalto en la siguiente captura:
Vamos a husmear en los diferentes manuales, por ejemplo en el "iso_8859-1". escribimos en el emulador de terminal:
man iso_8859-1
Y podemos ver una serie de símbolos con su código octal, decimal y hexadecimal que podemos usar.
Pero si queréis verlos absolutamente todos, en este enlace están todos los códigos, llamados unicode (definición de unicode en wikipedia): símbolos matemáticos, de puntuación, según cada lengua, etc.
Podemos llegar a escribir en el terminal estos símbolos: (con la combinación de teclas que os he nombrado en el principio de este artículo: "Ctrl" "Shift" "u" y el código pertinente del símbolo):
O en el editor de texto gedit:
IMPORTANTE: Hay algunas distribuciones gnu/Linux (Linux Lite 4.6, por ejemplo), en que la forma de la entrada de símbolos es la misma, pero cambia la visualización de la ejecución por pantalla. Es decir, cuando pulsamos la combinación de teclas "Ctrl" mas "Shift" y posteriormente la letra u, no nos aparece nada por pantalla, ni la letra u subrayada, ha dejado de aparecer el cursor parpadeante en el prompt, pero la función está activa y a la espera de la entrada del posterior código, el cual cuando lo pulséis tampoco os aparecerá por pantalla, hasta que presionéis la tecla "Enter", y entonces si os dará el resultado del símbolo por pantalla.
Imagen del emulador de terminal de comandos en la distro Linux Lite 4.6 antes de ejecutar la entrada del código unicode, donde se aprecia el cursor en el prompt a la espera de la entrada de datos:
Imagen del emulador de terminal de comandos en la distro Linux Lite 4.6 pulsando la combinación de teclas "Ctrl" "Shift" "u" y la entrada del código unicode, donde se aprecia que no aparece ni la letra u subrayada ni la combinación de teclas del código por pantalla y el cursor en el prompt ha desaparecido, significa que está captando la entrada de datos por teclado:
Imagen del emulador de terminal de comandos en la distro Linux Lite 4.6 una vez hemos pulsado la tecla "Enter" y nos muestra por pantalla el resultado de la operación, el cursor en el prompt vuelve a parecer, para continuar con la entrada de caracteres desde el teclado:
Esta forma de proceder será el mismo en cualquier aplicación de dichas distribuciones (como Linux Lite) ya sea el emulador de terminal de comandos o el procesador de textos como LibreOffice Writer, etc.
Fácil verdad?
Si queréis ver un video práctico aquí tenéis uno:
Espero os sirva de ayuda y nos vemos en otro artículo.
Saludos.
Hola tengo una duda aparte, Se pueden hacer gifs ASCII en la terminal o una animacion?
ResponderEliminarEs mas que nada por que quiero hacer un script con una decoracion
si
Eliminarmuchas gracias
ResponderEliminarMuchas gracias,
ResponderEliminarVengo de tropezar en innumerables webs que no me daban respuesta al problema, por fin alguien que entiende...
Gracias por el halago.
EliminarGracias por la info, es muy util aunque sigue siendo un enredo 10 veces peor que en WINDOWS, donde solo pulsas ALT + numero y listo. Pero bueno hay cosas en las que linux es peor que windows o mac
ResponderEliminarNo comparto tu opinión. Que la entrada sea en hexadecimal no tiene por que ser un enredo, simplemente es diferente. Todo sistema tiene apartados mejores o peores, pero no cambio GNU/Linux ni por Windows ni tampoco por MacOS.
EliminarSaludos.
Poner el código en decimal o en hexadecimal no hace la diferencia, lo que es un engorro es tener que mantener presionadas tres teclas al mismo tiempo que se introduce el codigo, amo a Linux pero no hay que caer en la histeria de defenderlo a toda costa, en este caso es mas complicado y no hay mas vueltas que darle
EliminarEs que no debes tenerlas pulsadas al mismo tiempo que introduces el código, por eso no es nada complicado. Siempre hay que darle dos o tres vueltas a las cosas.
EliminarMano izquierda pulsa Ctrl+Shift --> mano derecha pulsa u --> fuera manos --> escribe el código y pulsa Enter.
EliminarPerfecto, gracias por aclarárselo.
EliminarGracias
ResponderEliminarCuando presiono "Ctrl" + "Shift" + "U", en un editor de texto como sublime text no me funciona, ¿alguien me puede ayudar?
ResponderEliminarTengo Sublime-text instalado en Ubuntu 18.04 y todos los códigos unicode que escribo aparecen.
EliminarCuando pulsas las dos teclas "Ctrl" "Shift", las mantienes pulsadas y presionas la tecla "u", aparece la "u" en un bocadillo, sueltas las teclas y luego pulsas el código unicode, por ejemplo "7e", te apare junto a la u en el bocadillo, cuando pulsas la tecla "Enter", te aparecer
a escrito el símbolo.
Saludos
Estoy en una Sandbox pero tampoco me aparece la activación del las teclas código Unicode.
Eliminaresto es lo peor ke vi en mi vida. control shift u? acaso tenemos dedos de 30 centimetros? aunke sea control shift a, s... pero u? incluso con ambas manos despues no puedo teclear el teclado numerico. hagan algo !
ResponderEliminarSi te hubieras leído el artículo entero, no tendrías dudas. A no ser que no tengas dos manos. Cuando presionas Ctrl Shift u, ayudándote de las dos manos deberá aparecerte una u subrayada o a veces nada (desapareciendo el cursor), depende de la distribución que uses. Inmediatamente puedes entrar el código unicode con el teclado numérico. Saludos.
EliminarEste comentario ha sido eliminado por un administrador del blog.
Eliminarno es nuestro problema que hayas nacido tan enano
Eliminary también kiero aclarar ke no funciona este "truco" = "control shift u" haciendo magia con mis manos y oprimiendo el teclado numerico no pasa nada, solo se abre una ventana nueva de codigo o algo raro ke no tienen ke ver con "ASCII" por favor solucionen. saludos!
ResponderEliminarNo es un truco, sino una utilidad. Y SI "funciona". Pulsa "Ctrl" "Shift" "u", aparta las manazas del teclado y pulsa el código unicode necesario. Saludos
Eliminarpor que ese comando solo los puedo usar en la ventana de texto pero no en la terminal?
ResponderEliminarNo es un comando. Es una combinación de teclas que permiten la entrada de codigos unicode en hexadecimal. Y en todas las distribuciones GNU/Linux se introduce de la misma forma. Y en todas las aplicaciones de cada distribución (emulador de terminal, editores de texto como gedit, procesadores de texto como libreoffice writer) se introducen de la misma forma.
EliminarSaludos.
Saludos.
ResponderEliminar¿Qué puedo hacer si la tecla de shift no funciona?
Te fallan las dos teclas shift? Supongo que sabes que tienes otra a la derecha del teclado.
EliminarSaludos.
gooood!!!! buenísimo, me encantó ¡Muchas Gracias!
ResponderEliminarMe alegra, saludos.
Eliminargracias una vez mas, me ayudo con una duda que para mi que soy principiante me devolvió el animo de seguir
ResponderEliminarDe nada, suerte.
EliminarNo me funciono, no sale la u y nada,
ResponderEliminarHay según que emuladores de terminal en que no aparece la u subrayada, aún así entra el código y pulsa enter y aparecerá el símbolo. Suerte.
EliminarBuenas!! He llegado a tu artículo buscando algo relacionado, a ver si me pudieras ayudar.
ResponderEliminarEn fstab estamos declarando un ftp de proveedor y resulta que en su usuario lleva una @: usu@rio@dominio.com Ocurre que interpreta el usuario hasta la primera @ y el dominio a partir de esta. He estado investigando para poder pasar la @ como su valor en hexadecimal y decimal pero no consigo nada, he probado con el carácter de escape \ y varias combinaciones con el valor decimal y hexadecimal, '%40' "%40" \%40 '\%40' "\%40" \40 '\40' "\40", incluso he probado con \\@ Entiendo que la idea sería pasar el valor de la @ y que fstab lo interprete como texto pero no lo consigo.
Se te ocurre alguna forma de poder hacerlo?
Muchas gracias de antemano!!
Deberás cambiar el nombre de usuario. La @ un carácter especial en Unix. Suerte
EliminarGracias!!
EliminarEn windows es mas facil, Alt+teclado numerico y listo
ResponderEliminarEntonces, sigue con Windows
Eliminarcomo coño hago si no me funciona el bendito ctrl + shit +u
ResponderEliminarExcelente sirve, correcto las instrucciones... para quien no le sirve el control +shift+u debe establecer las condiciones predeterminadas de los atajos.
ResponderEliminar