Diga "Olá" ao mundo na arte ASCII

14

Desafio: Produza a seguinte saída usando o menor número possível de caracteres:

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

Regras e restrições:

  • Você não pode usar o FIGLet ou qualquer ferramenta similar. (Caso contrário, figlet Hello, world!seria uma solução trivial e praticamente imbatível.)

  • Seu programa deve consistir inteiramente de caracteres ASCII imprimíveis - especificamente, pontos de código 9 (TAB), 10 (LF) e 32 - 126. (Se o seu idioma / SO exigir quebras de linha CRLF, você poderá usá-los em vez de LFs simples). , isso desqualifica lamentavelmente qualquer idioma que exija caracteres não ASCII (ou dados não textuais) como parte de sua sintaxe.

  • A saída deve ser exatamente igual ao exemplo acima. Você pode, no entanto, incluir espaço em branco extra ao redor da saída, se desejar. Você pode assumir o espaçamento da guia de 8 caracteres (ou a configuração padrão nativa da plataforma escolhida, se houver uma consistente).

Ps. Para definir o par, criei uma solução Perl de 199 caracteres. No entanto, ainda não vou publicá-lo, caso alguém o faça independentemente. (Além disso, é meio extravagante.) Obviamente, isso não deve desencorajá-lo a postar sua própria solução, mesmo que seja mais longa.


Atualização: Agora que o han o venceu em um caractere, aqui está a minha solução Perl de 199 caracteres:

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'

É muito semelhante à solução da DC (e a todas as outras soluções baseadas em zlib / gzip em vários idiomas), exceto que eu usei a uuencoding em vez da base64 para o texto compactado e alguns outros pequenos truques de golfe.


Atualização 2 : Acho que é hora de aceitar oficialmente um vencedor. O primeiro lugar vai para o código PHP do konsolenfreddy , pois, embora você conte os caracteres, é o mais curto enviado até o momento. De fato, combiná-lo com o fluxo DEFLATE otimizado do meu código Perl de 199 caracteres produz uma solução ainda mais curta de 176 caracteres:

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

No entanto, acho que han merece uma menção honorária especial por estar tão perto sem usar nenhuma ferramenta de descompressão pré-escrita. Parabéns a vocês dois e um feliz ano novo para todos!

Ilmari Karonen
fonte
Ok, eu tenho que fazer este em C ...
Michael Dorgan

Respostas:

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

Execute e depure

Funciona assim.

  1. Comece com uma grande string literal.
  2. Converta para inteiro decodificando como um número base-90.
  3. Converta esse número em binário.
  4. Execuções de 0s seguidas de a 1são convertidas em caracteres não espaciais.
  5. Todos os 1s restantes são substituídos por espaços.
  6. A sequência resultante é dividida em linhas de 54 caracteres.
recursivo
fonte
Parabéns, parece que esta é a solução mais curta agora! :)
Ilmari Karonen
17

Perl 5.10 - 195 198 202 203 caracteres

Aqui está uma entrada que não requer bibliotecas além da correspondência básica de regexp. A cadeia codificada tem 131 caracteres e o código para decodificar e imprimir ocupa 64 caracteres (assumindo que não há nova linha no final da origem). A idéia é representar seqüências comuns de 3 caracteres por 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

O codificador é muito mais longo e infelizmente não é muito legível no momento. A idéia básica é usar a programação dinâmica para encontrar a codificação mais curta para cada linha, considerando um conjunto fixo de substituições de strings. A cadeia de substituições na última linha foi criada por tentativa e erro, e é possível que outra cadeia de substituições leve a um programa mais curto que o anterior.

Um truque aqui é que algumas substituições têm menos de 3 caracteres: devido ao modo como o perl substrfunciona, xé substituído por ' _' e ypor ' _'. O último é necessário porque \wno regex corresponde a ' _', que é substituído por ' (_)'.

han
fonte
+1, muito bom. Você pode salvar 2 caracteres substituindo printporsay
Toto
@ M42: Até onde pude descobrir, no perl 5.10 para usar, sayvocê precisa use 5.010;executar ou executar o script como uma linha perl -E 'script here'. O primeiro torna o código mais longo e o último não é apropriado para um script de várias linhas. Perdi algo?
han
O -Enão conta em número de caracteres.
Toto
1
Ps. Você pode salvar mais alguns caracteres usando em s''...'vez de $_=q!...!; lembre-se de escapar da aspas simples. Com isso e em sayvez de print(e deixando de fora a última nova linha), eu diminuo para 198 caracteres.
Ilmari Karonen
2
BTW, tentei usar guias em vez de #longas execuções de espaço em branco e reduzi a solução para 190 caracteres. Gostaria de saber se é possível ficar abaixo de 184 caracteres - isso superaria todas as soluções compactadas com zlib até agora.
Ilmari Karonen
12

Brainfuck - 862 caracteres:

>++++[<++++++++>-]>-----[<---->---]<+++>>--[<+>--]<---<<.>.<...>.<....
..>.<.>.<.............................>.<.....>.<.>.>>++++++++++.<.<<.
>>.<<.>>.<<.>>.<<.>...>.<<.>>.<<.>>.<<.>...<....>..<......>.....<..>.<
.>..>.<<.>>.<<.>..>.<<.>>.<<.>>.>.<.<<.>>.<.>.<<.>>.>>>-[<->+++++]<---
-.<<<<.>.<.>---.+++<.>>.<<.>>.>>.<<<<.>.<.>---.<...>.<.>.<.>>>>.<<<.<.
>>>>.<<<<.>>>>.<<<<.>+++.<.>---.>.<<.>>>>>>---[<+>+++++++]<++.<<<<+++.
.>.<<.>>.>>.<<<<.>.+.-<.>>.<<.>>.>.<.<<..>.<..>>.<<..>..>>>.<<<<.>>.<<
.>>.<<.>>>>>+.<<<<.>>>>+.<<<<<.>>.<<...>---.<.>------.<..>.<.>>>>.<<<<
.>>>>>-.<<<<+++++++++.>>>>+.<<<<<.>>.<<.>>.<<..>>.<<.>>.<<.>>>>>-.<<<<
.>.<<.>>.<.>.>.<.<.>.<<.>>.<.>.<---.+++...>.<.>.<.>.<---.+++...>>>>.<<
<<<.>>>>>+.<<<<<...>---.+++.>>>.<<<---.+++.>>>.<<<<.>---.+++...>>>.<<.
<.>.<<..>>.<.>.<---.+++..>>>>+++.<<<<.>>>>----.<<<<.>>>>+.<<.<<<......
..............>>.>>.<.
captncraig
fonte
Observe que esse código aparentemente assume células de 8 bits; Eu tentei pela primeira vez em um intérprete com células de 32 bits e ele ficou preso na [<---->---]primeira linha. (Presumivelmente, acabaria por terminar, mas eu não esperar o tempo suficiente para isso.)
Ilmari Karonen
24
Como diabos você escreveu isso em duas horas?
Joey Adams
Parece que você salvar ` ') (, / | V_ \ n nas primeiras células e eles você só ir e voltar a imprimir o caractere necessário (gerador de texto BF Dev?) Bom trabalho BTW.
JBernardo
Depende de células de quebra de 8 bits. Armazena alguns caracteres comuns como você disse, mas não todos. Também faz coisas como alternar entre '\' e '_' em uma célula onde estão próximas o suficiente para fazê-lo.
Captncraig
@JBernardo, o gerador de texto BF dev deu um código muito maior que isso. Levaria um gerador muito mais complicado para superar isso, eu acho.
Captncraig
9

Python (2.x), 194 caracteres

print'eNo9T8ENxCAMe5cp/DsqVco2fSH5BsnwZ4ccEIhxbAIgAK9KvDRwGBEjsSfJA6r2N7EISbmrpbLNKFRYOABaC6FAEYkPW/Ztm1t7Z1S3ydtHuV4ooolEV6vPyJ2XH8kGE7d9DAVMhFUte6h7xv5rxg8sf0Qc'.decode('base64').decode('zip')
tzot
fonte
2
Esta resposta acabou de fazer o meu dia xD. Eu nunca pensei que eu iria ver um codegolf que realmente usa zip & base64 para diminuir o tamanho corda
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
fonte
Salve o espaço após o return, -1 char :) #
31411 pimvdb
4

Essa resposta é mais longa do que apenas imprimir a string; no entanto, apenas para se divertir, aqui 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 tenho uma das representações ASCII mais curtas do texto original compactado, preciso ter a barra de rolagem mais longa do meu código! É uma vitória! :)

tzot
fonte
4
AKA "minha barra de rolagem é maior que a sua"
tzot 16/12/11
Esta solução pode ter até 254 caracteres. Você se importa se eu editar na versão mais curta?
han
@han: é claro que a contagem de caracteres pode ser reduzida; no entanto, não escrevi este como um candidato sério. Então deixe este ser votado pelo seu próprio mérito, e escrever uma outra resposta usando tanto ou tão pouco dessa resposta como você gosta :)
tzot
Obrigado, vou passar, a menos que alguém esteja realmente interessado. Eu só queria salientar que esta solução pode ser significativamente mais curta que o texto original.
han
3

PHP, 194 189 caracteres

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

É basicamente o mesmo que a resposta Python e Perl, um pouco mais curta

konsolenfreddy
fonte
O php -r'=...'truque não parece funcionar para mim, mas você pode usar apenas <?=...184 caracteres. Além disso, sua saída parece ter um espaço extra onde o re se lencontram.
Ilmari Karonen
OSX 5.3.6 funciona bem com o -r'=..'. que o php -rnão contam? É incluído em meus 189chars ...
konsolenfreddy
Geralmente, o nome do intérprete não conta. Para opções de linha de comando, eu estive seguindo este meta thread ; A -rmudança do PHP é uma espécie de caso limítrofe, pois, além de apenas pegar o código como parâmetro e executá-lo, também modifica um pouco o ambiente de análise em comparação com a execução do código a partir de um arquivo. Eu estaria inclinado a contá-lo como 2 caracteres extras - o que, aliás, coloca tudo em ordem <?.
Ilmari Karonen
3

Em outros idiomas: C (versão original), 209 caracteres ; Perl , 200 caracteres .

J, 167 160 caracteres (47 + 113)

Outro envio sem compactação interna. Usa uma codificação de comprimento variável bastante simples, codificando cada caractere como uma série de 1 bits e separando os caracteres por 0 bits. A cadeia compactada tem apenas 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('
FireFly
fonte
2

Python (2.7.x), 218 caracteres

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

Bem direto ... não muito satisfeito com esta tentativa.

Dillon Cower
fonte
2

Festança, 199 196 193 caracteres

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

Perto o suficiente...

EDIT: até 193!

Dillon Cower
fonte
1
Agradável. Você pode salvar mais três caracteres substituindo gzip -dpor zcat.
Ilmari Karonen
3
Usar uma string where salvaria o eco.
Peter Taylor
2

festança, 196 192

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

Perl, 230 caracteres

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

Isso é basicamente o mesmo que minha resposta em Python. Eu gostaria de ver a versão de 199 caracteres .. parece mágica.

Dillon Cower
fonte
Ainda não publicarei, mas você está no caminho certo. É claro que eu esperava que alguém vencesse com uma abordagem completamente diferente.
Ilmari Karonen
1

Perl, 294 290 bytes.

A cadeia compactada sozinha é 151 130 bytes.

Isso não é curto, mas foi realmente divertido de escrever.

@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
user2905252
fonte
1

Perl, 346 bytes

A cadeia compactada sozinha é 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

Tentando entender o que o python key= (0,(1,((((7,5),(6,(8,(11,(9,10))))),(4,3)),2))) estava fazendo, acabei criando uma versão perl de aparência muito semelhante.

user2905252
fonte
1

PHP 590

Obviamente, não estou tentando vencer, apenas me interessei em tentar outro esquema de compactação, apesar de não conseguir nem vencer a solução PHP mais simples de texto simples 302, apenas copiar e colar

funciona como um bitmap em 10 canais

"jogou golfe"

<? $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";}

legível

<?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
fonte
1

Pylongolf2, 300 bytes

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

Não consegui encontrar nenhum método de codificação elegante, então provavelmente não estou competindo.


fonte
0

Golfe-Básico 84, 325

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

Supondo que uma calculadora possa imprimir backticks, barras invertidas, tubos únicos e sublinhados.

Timtech
fonte
0

HTML + JS (223 caracteres unicode)

Apenas por diversão:

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

Nota: você precisa salvá-lo em um arquivo HTML "UTF-8 com BOM".

xem
fonte
Agradável. Funciona para mim mesmo sem uma BOM (Firefox 26 / Chromium 31), desde que a codificação esteja definida como UTF-8 ou com detecção automática. Infelizmente, ele não se qualifica de acordo com as regras declaradas ("o programa deve consistir inteiramente de caracteres ASCII imprimíveis"). :-(
Ilmari Karonen
Eu sei, foi apenas por diversão;)
xem
0

PowerShell , 220 bytes = script: 9 + arquivo: 211

tar xOf t

Experimente online!

O script do Powershell para criar o arquivo t(consulte o TIO):

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