Di "Hola" al mundo en el arte ASCII

14

Desafío: Produzca el siguiente resultado utilizando la menor cantidad de caracteres posible:

 _   _      _ _                             _     _ _
| | | | ___| | | ___    __      _____  _ __| | __| | |
| |_| |/ _ \ | |/ _ \   \ \ /\ / / _ \| '__| |/ _` | |
|  _  |  __/ | | (_) |   \ V  V / (_) | |  | | (_| |_|
|_| |_|\___|_|_|\___( )   \_/\_/ \___/|_|  |_|\__,_(_)
                    |/

Reglas y restricciones:

  • No puede usar FIGLet ni ninguna herramienta similar. (De figlet Hello, world!lo contrario, sería una solución trivial y prácticamente inmejorable).

  • Su programa debe consistir completamente en caracteres ASCII imprimibles , específicamente, puntos de código 9 (TAB), 10 (LF) y 32 - 126. (Si su idioma / SO requiere saltos de línea CRLF, puede usarlos en lugar de LF simples). Sí , lamentablemente descalifica cualquier lenguaje que requiera caracteres no ASCII (o datos no textuales) como parte de su sintaxis.

  • El resultado debe verse exactamente como el ejemplo anterior. Sin embargo, puede incluir espacios en blanco adicionales alrededor de la salida si lo desea. Puede asumir un espaciado de pestañas de 8 caracteres (o la configuración predeterminada nativa de su plataforma elegida, si tiene una coherente).

PD. Para establecer el par, se me ocurrió una solución Perl de 199 char. Sin embargo, no lo publicaré aún, en caso de que alguien lo invente de forma independiente. (Además, es un poco cursi.) Por supuesto, esto no debería desanimarlo a publicar su propia solución, incluso si es más larga.


Actualización: ahora que Han lo ha derrotado en un char, aquí está mi cursi solución Perl de 199 char:

use Compress'Zlib;say uncompress unpack u,'M>-I]BT$*`S$,`^]YQ=R:0,&_Z<DP?8@?WVQJ]E2J"%E$$@)R(/(/MCJ*\U!OM`Z#=5`4Y>6M=L\L%DMP&DB0V.4GQL&OOGB$4:%`4TT4!R8O-Z(^BTZWNV?>F86K:9+""-35*-LNC:T^D:_$#%^`";"DD0'

Es muy similar a la solución de DC (y todas las otras soluciones basadas en zlib / gzip en varios idiomas), excepto que usé uuencoding en lugar de base64 para el texto comprimido y algunos otros trucos menores de golf.


Actualización 2 : Creo que es hora de aceptar oficialmente un ganador. El primer lugar es para el código PHP de konsolenfreddy , ya que, independientemente de cómo cuente los caracteres, es el más corto enviado hasta ahora. De hecho, combinarlo con el flujo DEFLATE optimizado de mi código Perl de 199 caracteres produce una solución aún más corta de 176 caracteres:

<?=gzinflate(base64_decode("fYtBCgMxDAPvecXcmkDBv+nJMH2IH99savZUqghZRBICciDyD7Y6ivNQbwOg3VQFOXlrXbPLBZLcBpIkNjlJ8bBr754hFGhQFNNFAcmLzeiPotOt7tn3plq2mSwgjU1SjbLo2tPpGvxAxfgA"));

Sin embargo, creo que Han merece una mención honorífica especial por acercarse tanto sin usar ninguna herramienta de descompresión preescrita. ¡Felicitaciones a los dos y un feliz año nuevo a todos!

Ilmari Karonen
fuente
Ok, tengo que hacer esto en C ...
Michael Dorgan

Respuestas:

1

Stax , 137 bytes

"9&BO]h>&)>3ieuCoKVKVnuOoT'E-^Z(1.3u[);h1[RTOGqTZkoQx?KMy&9ctG&*y~HxR9%GYn.rYMdMcOOq^wXc@%zy*P[*Q"90|E|B"0+1"{%",``_|\/()V'"@]}R.1 |t54/m

Ejecutar y depurarlo

Funciona así.

  1. Comience con una gran cadena literal.
  2. Convierte a entero decodificando como un número base 90.
  3. Convierte ese número a binario.
  4. Las series de 0s seguidas de a 1se traducen en caracteres no espaciales.
  5. Todos los 1s restantes se reemplazan con espacios.
  6. La cadena resultante se divide en líneas de 54 caracteres.
recursivo
fuente
¡Felicidades, parece que esta es la solución más corta ahora! :)
Ilmari Karonen
17

Perl 5.10 - 195 198 202 203 caracteres

Aquí hay una entrada que no requiere ninguna biblioteca más allá de la coincidencia básica de expresiones regulares. La cadena codificada tiene 131 caracteres, y el código para decodificarla e imprimirla ocupa 64 caracteres (suponiendo que no haya una nueva línea al final de la fuente). La idea es representar cadenas comunes de 3 caracteres con letras minúsculas.

s!!xfefxxf\t\t\tf efyx
no| cnocfxefxceyxm|xmn
nm|wtnwtgt/uvy \\| 'ym|w`o|
pepyy/o| _ogrr/ _opn (ml
l lbyly|by( )fiihyjm lb,y_
\t\tf |/!;s!\w!substr'(_)\___   \_/|_| |  V \ / _',-95+ord$&,3!eg;say

El codificador es mucho más largo y desafortunadamente no es muy legible en este momento. La idea básica es utilizar la programación dinámica para encontrar la codificación más corta para cada línea, dado un conjunto fijo de sustituciones de cadenas. La cadena de sustituciones en la última línea se creó por prueba y error, y es posible que otra cadena de sustituciones conduzca a un programa más corto que el anterior.

Un truco aquí es que algunas sustituciones tienen menos de 3 caracteres de longitud: debido a la forma en que substrfunciona Perl , xse reemplaza por ' _' y ypor ' _'. Esto último es necesario porque \wen las expresiones regulares ' _', que luego se reemplaza por ' (_)'.

han
fuente
+1, muy lindo. Puede guardar 2 caracteres reemplazando printporsay
Toto
@ M42: Por lo que pude entender, en Perl 5.10 para usarlo saynecesitas hacer use 5.010;o ejecutar el script como una línea con perl -E 'script here'. El primero hace que el código sea más largo y el segundo no es apropiado para un script de varias líneas. ¿Me he perdido algo?
Han
El -Eno cuenta en número de char.
Toto
1
PD. Puede guardar algunos caracteres más utilizando en s''...'lugar de $_=q!...!; solo recuerda escapar de la comilla simple. Con eso y en saylugar de print(y dejando de lado la última línea nueva), llego a 198 caracteres.
Ilmari Karonen
2
Por cierto, traté de usar pestañas en lugar de #para los largos espacios en blanco y obtuve su solución a 190 caracteres. Me pregunto si es posible ir por debajo de 184 caracteres, que superaría todas las soluciones comprimidas de zlib hasta ahora.
Ilmari Karonen
12

Brainfuck - 862 caracteres:

>++++[<++++++++>-]>-----[<---->---]<+++>>--[<+>--]<---<<.>.<...>.<....
..>.<.>.<.............................>.<.....>.<.>.>>++++++++++.<.<<.
>>.<<.>>.<<.>>.<<.>...>.<<.>>.<<.>>.<<.>...<....>..<......>.....<..>.<
.>..>.<<.>>.<<.>..>.<<.>>.<<.>>.>.<.<<.>>.<.>.<<.>>.>>>-[<->+++++]<---
-.<<<<.>.<.>---.+++<.>>.<<.>>.>>.<<<<.>.<.>---.<...>.<.>.<.>>>>.<<<.<.
>>>>.<<<<.>>>>.<<<<.>+++.<.>---.>.<<.>>>>>>---[<+>+++++++]<++.<<<<+++.
.>.<<.>>.>>.<<<<.>.+.-<.>>.<<.>>.>.<.<<..>.<..>>.<<..>..>>>.<<<<.>>.<<
.>>.<<.>>>>>+.<<<<.>>>>+.<<<<<.>>.<<...>---.<.>------.<..>.<.>>>>.<<<<
.>>>>>-.<<<<+++++++++.>>>>+.<<<<<.>>.<<.>>.<<..>>.<<.>>.<<.>>>>>-.<<<<
.>.<<.>>.<.>.>.<.<.>.<<.>>.<.>.<---.+++...>.<.>.<.>.<---.+++...>>>>.<<
<<<.>>>>>+.<<<<<...>---.+++.>>>.<<<---.+++.>>>.<<<<.>---.+++...>>>.<<.
<.>.<<..>>.<.>.<---.+++..>>>>+++.<<<<.>>>>----.<<<<.>>>>+.<<.<<<......
..............>>.>>.<.
captncraig
fuente
Tenga en cuenta que este código aparentemente asume celdas de 8 bits; Primero lo probé en un intérprete con celdas de 32 bits, y se quedó atascado en [<---->---]la primera línea. (Presumiblemente, finalmente habría terminado, pero no
esperé lo
24
¿Cómo diablos escribiste esto en dos horas?
Joey Adams
parece que guardas '') (, / | V_ \ n en las primeras celdas y luego solo vas de un lado a otro imprimiendo el char necesario (generador de texto BF Dev?). Buen trabajo BTW
JBernardo
Depende de celdas de envoltura de 8 bits. Almacena algunos caracteres comunes como dijiste, pero no todos. También hace cosas como cambiar entre '\' y '_' en una celda donde están lo suficientemente cerca como para hacerlo.
captncraig
@JBernardo, el generador de texto de desarrollo BF le dio un código mucho más grande que esto. Creo que se necesitaría un generador mucho más complicado para superar esto.
captncraig
9

Python (2.x), 194 caracteres

print'eNo9T8ENxCAMe5cp/DsqVco2fSH5BsnwZ4ccEIhxbAIgAK9KvDRwGBEjsSfJA6r2N7EISbmrpbLNKFRYOABaC6FAEYkPW/Ztm1t7Z1S3ydtHuV4ooolEV6vPyJ2XH8kGE7d9DAVMhFUte6h7xv5rxg8sf0Qc'.decode('base64').decode('zip')
tzot
fuente
2
Esta respuesta me hizo el día xD. Nunca hubiera pensado que vería un codegolf que realmente usa zip y base64 para disminuir el tamaño de la cadena
daboross
4

Javascript, 273 265 264 caracteres

" _2_22_ _2222222226_26_ _10 0 3_0 | 3_2 32233_6_ 30 30 |10_0/ _ 4 0/ _ 424 4 /4 / / _ 4| '30/ _` 01|6_6|63/ 0 (_) |24 V6V / (_) 060 (_0_|1|_0_|43_|_543_( )24_/4_/ 43_/56543,_(_)12222226|/".replace(/\d/g,function(a){return'| |,\n,   ,__,\\,|_|,  '.split(',')[a]})

:(

JiminP
fuente
Ahorre el espacio después de return, -1 char :)
pimvdb
4

Esta respuesta es más larga que simplemente imprimir la cadena; Sin embargo, solo por diversión, aquí está:

Python, 485 caracteres ☺

import sys

data= ',C6UBKq.)U^\\ 8[hHl7gfLFyX6,;p\'SlYpN@K-`Kbs#fSU+4o~^_h\\dJDy{o9p?<GnLTgG{?ZM>bJE+"[kHm7EavoGcS#AQ^\\>e_'
table= " _|\\/(\n)V'`,"
key= (0,(1,((((7,5),(6,(8,(11,(9,10))))),(4,3)),2)))

number= 0
for char in data:
    number= number*95 + ord(char) - 32

mask= 1<<655
decoder= key
while mask:
    index= mask & number and 1
    try:
        decoder= decoder[index]
    except TypeError:
        sys.stdout.write(table[decoder])
        decoder= key[index]
    mask>>= 1

Como tengo una de las representaciones ASCII más cortas del texto original comprimido, ¡debo tener la barra de desplazamiento más larga en mi código! Es una victoria! :)

tzot
fuente
44
También conocido como "mi barra de desplazamiento es más larga que la tuya"
tzot
Esta solución puede reducirse a 254 caracteres. ¿Te importa si edito en la versión más corta?
han
@han: Por supuesto, el recuento de caracteres se puede reducir; Sin embargo, no escribí este como un candidato serio. Así que éste puede votar por su propio mérito, y escribir otra respuesta usando tanto o tan poco de esta respuesta a su gusto :)
tzot
Gracias, aprobaré a menos que alguien más esté realmente interesado. Solo quería señalar que esta solución se puede hacer significativamente más corta que el texto original.
han
3

PHP, 194 189 caracteres

php -r'=gzinflate(base64_decode("dU/BDcQgDPszhX+lUqVs0xeSb5AMf3ZI+7qDACa2EwABeNXR4M/goxqJPUm+oLinEishKTdbKtuMQsTCC6C1EApUInHIvOlP+9zbO6PaTZ6+ynZDEZ1INFuNRu5z+ZVsMHHax1DAibCqZRdVZ/z6esYX"));'

Es básicamente lo mismo que la respuesta de Python y Perl, un poco más corta

konsolenfreddy
fuente
El php -r'=...'truco no parece funcionar para mí, pero podrías usarlo <?=...para 184 caracteres. Además, su salida parece tener un espacio extra donde se encuentran los ry l.
Ilmari Karonen
OSX 5.3.6 funciona bien con el -r'=..'. ¿ php -rNo cuenta el? Está incluido en mis 189 caracteres ...
konsolenfreddy
En general, el nombre del intérprete no cuenta. Para las opciones de línea de comando, he estado siguiendo este hilo meta ; Sin -rembargo, el cambio de PHP es algo así como un caso límite, ya que, además de tomar el código como parámetro y ejecutarlo, también modifica el entorno de análisis ligeramente en comparación con la ejecución del código desde un archivo. Me inclinaría a contarlo como 2 caracteres adicionales, lo que, por cierto, lo iguala <?.
Ilmari Karonen
3

En otros lenguajes: C (versión original), 209 caracteres ; Perl , 200 caracteres .

J, 167160 caracteres (47 + 113)

Otro envío sin compresión integrada. Utiliza una codificación de longitud variable bastante sencilla, que codifica cada carácter como una serie de 1 bits y separa los caracteres por 0 bits. La cadena comprimida tiene solo 113 caracteres.

('a _|\/',CR,'()V`,'''){~#;.2,(6$2)#:40-~3&u:'8H1(((((H:f[4ZS4ZP2(RPMAMANf[>CZD[F;I[OVFF;TgfS5aGd[7T9JW4[eG[+Of7ddg?d[.AfT]WUASE=S>bSdgI]cS[RWBYSE?gSeG_X(()WG('
Luciérnaga
fuente
2

Python (2.7.x), 218 caracteres

import base64,zlib;
print zlib.decompress(base64.b64decode("eNo9T8ENxCAMe5cp/DsqVco2fSH5BsnwZ4ccEIhxbAIgAK9KvDRwGBEjsSfJA6r2N7EISbmrpbLNKFRYOABaC6FAEYkPW/Ztm1t7Z1S3ydtHuV4ooolEV6vPyJ2XH8kGE7d9DAVMhFUte6h7xv5rxg8sf0Qc"))

Bastante sencillo ... no muy complacido con este intento.

Dillon Cower
fuente
2

Bash, 199 196 193 caracteres

base64 -d<<<H4sIAAAAAAAAAz1PQQ6AIAw7S+IfelMTk/3GE0l9CI+3HRPYoHQtAxCAMzduGliMiL0NzElygSz+LiYhLWc1VekzDFU6FoCyIxRIYuBgyd7f5+5eGdnv5OWjbA8UUcRAVbORfBN0v5MFTlw2MhQwEVaV7KYu2tv88IgPjUlb7QoBAAA=|zcat

Suficientemente cerca...

EDITAR: ¡Hasta 193!

Dillon Cower
fuente
1
Agradable. Podrías guardar tres caracteres más reemplazándolos gzip -dcon zcat.
Ilmari Karonen
3
El uso de un string donde se guardaría sobre el eco.
Peter Taylor
2

bash, 196 192

base64 -d<<<H4sIAO4SqFMCA3VPQQ7AIAi7+4re5pIl/GYnk+4hPH4U0dOmILUUUBCAPEOBn8Wlao65SW6QudWJSYSUM5sqlQlZJAY2QPiAhSEJx8GSPVWm0TppOa3z1DWqboRZEY7K5pzmMw49kgU6TtXRwiDCpCrZxejTvn7u1l5z59MGKQEAAA|zcat
rpax
fuente
1

Perl, 230 caracteres.

use Compress::Zlib;
use MIME::Base64;
print uncompress(decode_base64('eNo9T8ENxCAMe5cp/DsqVco2fSH5BsnwZ4ccEIhxbAIgAK9KvDRwGBEjsSfJA6r2N7EISbmrpbLNKFRYOABaC6FAEYkPW/Ztm1t7Z1S3ydtHuV4ooolEV6vPyJ2XH8kGE7d9DAVMhFUte6h7xv5rxg8sf0Qc'));

Esto es básicamente lo mismo que mi respuesta de Python. Me gustaría ver la versión de 199 caracteres ... suena a magia.

Dillon Cower
fuente
Todavía no lo publicaré, pero estás en el camino correcto. Por supuesto, estoy esperando que alguien lo supere con un enfoque completamente diferente.
Ilmari Karonen
1

Perl 294 290 bytes.

La cadena comprimida sola, es 151 130 bytes.

Esto no es corto, pero fue muy divertido escribirlo.

@t=split//,"_|\\/\n()V',`";$b.=substr unpack("B8",chr(-48+ord)),2,6 for split//,'Ph?`@Ooooo1l410````0066600?03l0001PP06600HHB1Q064L4D<8h8^::<DLL4@J0032>1D<90h<>00hHI@6QhYllLX3@`hHI@1Q04P@1Q04@002080R001I^80a074001Q07208P0B0X34ooo`ST';$b=~s/(1)|(0.{4})/$1?" ":$t[ord pack"B8","000$2"]/eg;print$b

@t=split//," _|x"x4 ."\\/\n()V',`";$b.=substr unpack("B8",chr(-48+ord)),2,6 for split//,'4100A0000000001017:8R5HR5@1@05E15R5R;:9Ra4`8\\A<0<30a`<C4C2=URa7PRbP@PG4R<g@P<3D=C4cM288S=RK:HV`EVK1G<d0`LL74`EaV2K1Mg=db0000002ab';$b=~s/1(1.{4})|(..)/$t[ord pack"B8","000".($2?"000$2":$1)]/eg;print$b
usuario2905252
fuente
1

Perl, 346 bytes

La cadena comprimida sola es de 111 bytes.

@t = split//, " _|\\/\n()V',`";
$k=[0,[1,[2,[[3,4],[[5,6],[7,[[8,9],[10,11]]]]]]]];

$b .= substr unpack("B8", chr(-48+ord)), 2, 6 for split//,'@P900000PBlc<b[<bX:0ZXUIUIVlcFKZLI^Y`LLMhjjW<oJcMGncNHS5MIW]l`ho3lMNgc<IW]V]i[=KUF]KUG[hL^l^^EMeSFiGmNggP001^Pl';

$d = $k;
$o.=$d=~/^\d/?$t[$s=$d,$d=$$k[$_],$s]:($d=$$d[$_],"")for split//,$b;
print $o

Tratando de entender lo que key= (0,(1,((((7,5),(6,(8,(11,(9,10))))),(4,3)),2))) estaba haciendo la pitón , terminé haciendo una versión de Perl muy similar.

usuario2905252
fuente
1

PHP 590

obviamente, no estoy tratando de ganar, simplemente me interesé en probar otro esquema de compresión, aunque ni siquiera puede superar la solución PHP de texto plano 302 más simple de solo copiar y pegar

funciona como un mapa de bits en 10 canales

"golf"

<? $l=['_'=>['l8kqo,ei','9uo6,2fko0','52m0w,5r1c','540lc,5maq','lifeo,19i7ai'],'|'=>[0,'1h39j4,105','1h2k8w,q9x','14l2jk,wlx','1h39j4,wlc','1s,0'],'/'=>[2=>'b9c0,n3kao','pa8,18y68','0,mihog','w,0'],'\\'=>[2=>'pc5,a0zy8','2,0','b9c1,am2kg'],'('=>[3=>'e8,b8lc','1s,4'],')'=>[3=>'3k,2t4w','g,1'],'V'=>[3=>'0,18y680'],'`'=>[2=>'0,g'],"'"=>[2=>'0,6bk'],','=>[4=>'0,g'],];$p=@str_pad;$b=@base_convert;$i=-1;while($i++<5){$h=' ';foreach($l as$c=>$r)if(@$r[$i]){$a=explode(',',$r[$i]);$d=str_split($p($b($a[0],36,2),27,0,0).$p($b($a[1],36,2),27,0,0));foreach($d as$j=>$v)$v&&$h[$j]=$c;}echo"$h\n";}

legible

<?php
$l = ['_'=>['l8kqo,ei','9uo6,2fko0','52m0w,5r1c','540lc,5maq','lifeo,19i7ai'],
      '|'=>[0,'1h39j4,105','1h2k8w,q9x','14l2jk,wlx','1h39j4,wlc','1s,0'],
      '/'=>[2=>'b9c0,n3kao','pa8,18y68','0,mihog','w,0'],
     '\\'=>[2=>'pc5,a0zy8','2,0','b9c1,am2kg'],
      '('=>[3=>'e8,b8lc','1s,4'],
      ')'=>[3=>'3k,2t4w','g,1'],
      'V'=>[3=>'0,18y680'],
      '`'=>[2=>'0,g'],
      "'"=>[2=>'0,6bk'],
      ','=>[4=>'0,g'],
      ];
$p=@str_pad;
$b=@base_convert;
$i=-1;
while($i++<5){
    $h = str_repeat(' ',54);
    foreach($l as $c=>$r)
        if(@$r[$i]){
        $a = explode(',',$r[$i]);
        $d = str_split($p($b($a[0],36,2),27,0,0).$p($b($a[1],36,2),27,0,0));
        foreach($d as$j=>$v)
            if ($v)
                $h[$j]=$c;
        }
    echo "$h\n";
}
Einacio
fuente
1

Pylongolf2, 300 bytes

" _   _      _ _                             _     _ _
| | | | ___| | | ___    __      _____  _ __| | __| | |
| |_| |/ _ \ | |/ _ \   \ \ /\ / / _ \| '__| |/ _` | |
|  _  |  __/ | | (_) |   \ V  V / (_) | |  | | (_| |_|
|_| |_|\___|_|_|\___( )   \_/\_/ \___/|_|  |_|\__,_(_)
                    |/"~

No pude encontrar ningún método de codificación con clase, por lo que probablemente no estoy compitiendo.


fuente
0

Golf básico 84, 325

:"                     "_Str1t` _   _      _ _ "d`Str1d`Str1t`_     _ _"t`| | | | ___| | | ___    __      _____  _ __| | __| | |"t`| |_| |/ _ \ | |/ _ \   \ \ /\ / / _ \| '__| |/ _` | |"t`|  _  |  __/ | | (_) |   \ V  V / (_) | |  | | (_| |_|"t`|_| |_|\___|_|_|\___( )   \_/\_/ \___/|_|  |_|\__,_(_)"t`                    |/"

Suponiendo que una calculadora pueda imprimir comillas invertidas, barras invertidas, tuberías simples y guiones bajos.

Timtech
fuente
0

HTML + JS (223 caracteres unicode)

Solo por diversión:

<body onload=p.innerHTML=unescape(escape("𘁟𘀠𘁟𘀠𘀠𘀠𧰠𧰠𘀠𘀠𘀠𘀠𘀠𘀠𘀠𘀠𘀠𘀠𘀠𘀠𘀠𘀠𧰠𘀠𘀠𧰠𧰊𯀠𯀠𯀠𯀠𧱟𧱼𘁼𘁼𘁟𧱟𘀠𘀠𧱟𘀠𘀠𘀠𧱟𧱟𧰠𘁟𘁟𧱼𘁼𘁟𧱼𘁼𘁼𒡼𘁼𧱼𘁼𛰠𧰠𧀠𯀠𯀯𘁟𘁜𘀠𘁜𘁜𘀯𧀠𛰠𛰠𧰠𧁼𘀧𧱟𯀠𯀯𘁟𨀠𯀠𯀊𯀠𘁟𘀠𯀠𘁟𧰯𘁼𘁼𘀨𧰩𘁼𘀠𘁜𘁖𘀠𥠠𛰠𚁟𚐠𯀠𯀠𘁼𘁼𘀨𧱼𘁼𧱼𒡼𧱼𘁼𧱼𧁟𧱟𯁟𯁟𯁜𧱟𧰨𘀩𘀠𘁜𧰯𧁟𛰠𧁟𧱟𛱼𧱼𘀠𯁟𯁜𧱟𛁟𚁟𚐊𘀠𘀠𘀠𘀠𘀠𘀠𘀠𘀠𘀠𘀠𯀯").replace(/uD./g,''))><pre id=p>

NB: debe guardarlo en un archivo HTML "UTF-8 con BOM".

xem
fuente
Agradable. Funciona para mí incluso sin una lista de materiales (Firefox 26 / Chromium 31), siempre que la codificación esté configurada en UTF-8 o autodetección. Por desgracia, no cumple con las reglas establecidas ("el programa debe consistir completamente en caracteres ASCII imprimibles"). :-(
Ilmari Karonen
Lo sé, fue solo por diversión;)
xem
0

PowerShell , 220 byes = script: 9 + archivo: 211

tar xOf t

Pruébalo en línea!

El script de Powershell para crear el archivo t(ver TIO):

(
" _   _      _ _                             _     _ _",
"| | | | ___| | | ___    __      _____  _ __| | __| | |",
"| |_| |/ _ \ | |/ _ \   \ \ /\ / / _ \| '__| |/ _` | |",
"|  _  |  __/ | | (_) |   \ V  V / (_) | |  | | (_| |_|",
"|_| |_|\___|_|_|\___( )   \_/\_/ \___/|_|  |_|\__,_(_)",
"                    |/"
) | Set-Content f -Force
tar zcfo t f
Get-ChildItem t # output info about archive size
mazzy
fuente