{"id":139099,"date":"2026-06-08T17:13:53","date_gmt":"2026-06-08T23:13:53","guid":{"rendered":"https:\/\/pongara.net\/news\/al-principio-solo-habia-texto-luego-llegaron-los-codigos-ansi-de-colores-para-darle-vida-a-los-terminales\/"},"modified":"2026-06-08T17:13:53","modified_gmt":"2026-06-08T23:13:53","slug":"al-principio-solo-habia-texto-luego-llegaron-los-codigos-ansi-de-colores-para-darle-vida-a-los-terminales","status":"publish","type":"post","link":"https:\/\/pongara.net\/news\/al-principio-solo-habia-texto-luego-llegaron-los-codigos-ansi-de-colores-para-darle-vida-a-los-terminales\/","title":{"rendered":"Al principio, s\u00f3lo hab\u00eda texto. Luego llegaron los c\u00f3digos ANSI de colores para darle vida a los terminales"},"content":{"rendered":"<div>\n<p class=\"imagen\" style=\"text-align:center;\"><a href=\"https:\/\/blog.safia.rocks\/2025\/12\/22\/ansi-codes\/\"><img decoding=\"async\" style=\"aspect-ratio:800\/749; width:100%\" loading=\"lazy\" src=\"https:\/\/pongara.net\/news\/wp-content\/uploads\/2026\/06\/ANSI_code.webp\" alt=\"Al principio, s\u00f3lo hab\u00eda texto. Luego llegaron los c\u00f3digos ANSI de colores para darle vida a los terminales\" title=\"Al principio, s\u00f3lo hab\u00eda texto. Luego llegaron los c\u00f3digos ANSI de colores para darle vida a los terminales\"><\/a><\/p>\n<p>Safia de <a href=\"https:\/\/blog.safia.rocks\/\">Bug Repelent<\/a> recuper\u00f3 hace tiempo en una anotaci\u00f3n algo sobre el funcionamiento de los <a href=\"https:\/\/blog.safia.rocks\/2025\/12\/22\/ansi-codes\/\"><strong>c\u00f3digos de escape ANSI<\/strong><\/a>, incluyendo una especie de editor interactivo en la propia p\u00e1gina web. Los c\u00f3digos ANSI son una de esas <strong>piezas de museo inform\u00e1tico que llevan ah\u00ed desde hace medio siglo<\/strong> pero siguen funcionando como si tal cosa.<\/p>\n<p>Y es que cada vez que una ventana de <strong>terminal<\/strong> muestra texto en rojo, una barra de progreso o una interfaz m\u00e1s o menos \u00abcoloreada\u00bb quiere decir que por detr\u00e1s hay toda <strong>una ristra de caracteres raros dici\u00e9ndole a la pantalla qu\u00e9 debe hacer.<\/strong> Est\u00e1n dibujados en <a href=\"https:\/\/es.wikipedia.org\/wiki\/C%C3%B3digo_escape_ANSI\">C\u00f3digo ANSI<\/a> X3.64, tambi\u00e9n llamado ECMA-48, un est\u00e1ndar de la vieja escuela que serv\u00eda para darle un m\u00ednimo de formato y color a los textos.<\/p>\n<p>La idea viene de los viejos tiempos de los <strong>terminales f\u00edsicos<\/strong>, cuando las pantallas CRT conectadas a los grandes ordenadores recib\u00edan los textos car\u00e1cter a car\u00e1cter. Como la forma de enviarlo era como \u00abtexto plano\u00bb, se defini\u00f3 el est\u00e1ndar ANSI para incluir peque\u00f1as instrucciones dentro del flujo: mover el cursor, cambiar los colores, borrar la pantalla o aplicar ciertos estilos. Era habitual usarlos en las conexiones v\u00eda m\u00f3dem a los BBS y cada <a href=\"https:\/\/www.microsiervos.com\/archivo\/internet\/viaje-al-pasado-edad-dorada-bbs.html\">software de BBS<\/a> ten\u00eda su peculiar estilo e interfaz para hacerlo diferente.<\/p>\n<p>Los ANSI se conocen popularmente como \u00abc\u00f3digos de escape\u00bb porque la secuencia empieza con el car\u00e1cter <strong>ESC<\/strong> (de la tecla <em>Escape<\/em>), correspondiente al <strong>ASCII 27<\/strong>, escrito en hexadecimal como <strong>x1b.<\/strong>, al que sigue un corchete (ASCII 91) y el valor. Por ejemplo:<\/p>\n<ul>\n<li><strong>x1b[31m<\/strong>: cambia el texto a <strong>rojo<\/strong>.<\/li>\n<li><strong>x1b[1m<\/strong>: activa la <strong>negrita<\/strong>.<\/li>\n<li><strong>x1b[0m<\/strong>: <strong>reinicia<\/strong> el formato.<\/li>\n<li><strong>x1b[2J<\/strong>: <strong>limpia<\/strong> toda la pantalla.<\/li>\n<li><strong>x1b[H<\/strong>: <strong>mueve el cursor<\/strong> a la esquina superior izquierda.<\/li>\n<li><strong>x1b[1;31m<\/strong>: <strong>combina atributos<\/strong>, en este caso negrita y rojo.<\/li>\n<\/ul>\n<p>El est\u00e1ndar de <strong>1979<\/strong> defin\u00eda solo <strong>8 colores<\/strong> para el texto y el fondo: negro, rojo, verde, amarillo, azul, magenta, ci\u00e1n y blanco. Pero las terminales modernas lo han ampliado un poco: primero a <strong>256 colores<\/strong>, como x1b[38;5;208m, y despu\u00e9s al color real de <strong>24 bits<\/strong>, con valores RGB al estilo x1b[38;2;255;128;0m. Suena un poco a conjuro m\u00e1gico, pero es eficaz.<\/p>\n<p>Lo curioso es que esta tecnolog\u00eda sigue siendo la base de muchas <strong>interfaces de l\u00ednea de comandos<\/strong>. Hay bibliotecas con estos c\u00f3digos para crear <em>spinners<\/em> (que simulan un movimiento del tipo \u00abprocesando\u2026\u00bb), barras de progreso y otros efectos. Programas como Vim o <em>htop<\/em> usan los movimientos de cursor para construir interfaces completas solo con texto. Tambi\u00e9n hay un c\u00f3digo muy divertido: el otro es el famoso <a href=\"https:\/\/www.microsiervos.com\/archivo\/humor\/extrano-origen-aberracion-blink.html\">blink<\/a> (\u00abparpadeo\u00bb) que tan odioso resulta en HTML. Recuerda la regla: puedes usarlo, pero <strong>s\u00f3lo una vez en tu vida.<\/strong><\/p>\n<p>Combin\u00e1ndolo con los c\u00f3digos <a href=\"https:\/\/www.microsiervos.com\/archivo\/ordenadores\/historias-codigo-ascii-codigos-escape-viejos-terminales-tty.html\">ASCII<\/a> semigr\u00e1ficos (IBM code page 437) y cierta habilidad se podr\u00edan crear <a href=\"https:\/\/www.microsiervos.com\/archivo\/ordenadores\/tiempos-interfaces-cajitas-rayas-bloques-de-colores.html\">aut\u00e9nticas virguer\u00edas<\/a>, muy retro y resultonas incluso hoy en d\u00eda.<\/p>\n<p>Relacionado:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.microsiervos.com\/archivo\/ordenadores\/tiempos-interfaces-cajitas-rayas-bloques-de-colores.html\">\u00a1Ah, aquellos tiempos en los que las interfaces se constru\u00edan con cajitas de rayas y bloques de colores!<\/a><\/li>\n<li><a href=\"https:\/\/www.microsiervos.com\/archivo\/internet\/viaje-al-pasado-edad-dorada-bbs.html\">Viaje al pasado: as\u00ed era la edad dorada de las BBS<\/a><\/li>\n<li><a href=\"https:\/\/www.microsiervos.com\/projects\/MRel.php\">Microsiervos: Art\u00edculos relacionados (IA)<\/a><\/li>\n<li><a href=\"https:\/\/www.microsiervos.com\/archivo\/ordenadores\/historias-codigo-ascii-codigos-escape-viejos-terminales-tty.html\">Historias del c\u00f3digo ASCII, los c\u00f3digos de escape y los terminales<\/a><\/li>\n<li><a href=\"https:\/\/www.microsiervos.com\/archivo\/ordenadores\/arte-ascii.html\">Arte ASCII<\/a><\/li>\n<li><a href=\"https:\/\/www.microsiervos.com\/archivo\/ordenadores\/vida-ascii-terminales-hp-264x.html\">La vida en ASCII en los terminales HP\u00a0264x: eran glacialmente lentos<\/a><\/li>\n<li><a href=\"https:\/\/www.microsiervos.com\/archivo\/internet\/textfiles-regreso-a-los-80.html\">Textfiles: regreso a los 80<\/a><\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.microsiervos.com\/archivo\/ordenadores\/codigos-ansi-colores-vida-terminales.html\"># Enlace Permanente<\/a><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Safia de Bug Repelent recuper\u00f3 hace tiempo en una anotaci\u00f3n algo sobre el funcionamiento de los c\u00f3digos de escape ANSI, incluyendo una especie de editor [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":139100,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[5873,1961,3565,7180,1268,3686,16543],"class_list":["post-139099","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-noticias","tag-codigos","tag-colores","tag-habia","tag-llegaron","tag-noticias","tag-principio","tag-terminales"],"_links":{"self":[{"href":"https:\/\/pongara.net\/news\/wp-json\/wp\/v2\/posts\/139099","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pongara.net\/news\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pongara.net\/news\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pongara.net\/news\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pongara.net\/news\/wp-json\/wp\/v2\/comments?post=139099"}],"version-history":[{"count":0,"href":"https:\/\/pongara.net\/news\/wp-json\/wp\/v2\/posts\/139099\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pongara.net\/news\/wp-json\/wp\/v2\/media\/139100"}],"wp:attachment":[{"href":"https:\/\/pongara.net\/news\/wp-json\/wp\/v2\/media?parent=139099"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pongara.net\/news\/wp-json\/wp\/v2\/categories?post=139099"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pongara.net\/news\/wp-json\/wp\/v2\/tags?post=139099"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}