Dites «bonjour» au monde dans l'art ASCII

14

Défi: produire la sortie suivante en utilisant le moins de caractères possible:

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

Règles et restrictions:

  • Vous ne pouvez pas utiliser FIGLet ou tout autre outil similaire. (Sinon, ce figlet Hello, world!serait une solution triviale et à peu près imbattable.)

  • Votre programme doit être entièrement composé de caractères ASCII imprimables - en particulier, les points de code 9 (TAB), 10 (LF) et 32 ​​- 126. (Si votre langue / votre système d'exploitation nécessite des sauts de ligne CRLF, vous pouvez les utiliser au lieu de LF simples.) Oui , cela disqualifie malheureusement toute langue nécessitant des caractères non ASCII (ou des données non textuelles) dans le cadre de sa syntaxe.

  • La sortie doit ressembler exactement à l'exemple ci-dessus. Vous pouvez cependant inclure des espaces supplémentaires autour de la sortie si vous le souhaitez. Vous pouvez supposer un espacement des tabulations de 8 caractères (ou le paramètre par défaut natif de la plate-forme que vous avez choisie, si elle est cohérente).

Ps. Pour établir le par, j'ai trouvé une solution Perl de 199 caractères. Je ne le publierai pas encore, cependant, au cas où quelqu'un le proposerait indépendamment. (De plus, c'est un peu ringard.) Bien sûr, cela ne devrait pas vous décourager de publier votre propre solution, même si elle est plus longue.


Mise à jour: Maintenant que han l'a battu d'un caractère, voici ma solution Perl de 199 caractères:

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'

Elle est très similaire à la solution de DC (et à toutes les autres solutions basées sur zlib / gzip dans différentes langues), sauf que j'ai utilisé codage uu au lieu de base64 pour le texte compressé et quelques autres astuces de golf mineures.


Mise à jour 2 : Je pense qu'il est temps d'accepter officiellement un gagnant. La première place revient au code PHP de konsolenfreddy , car, même si vous comptez les caractères, il est le plus soumis jusqu'à présent. En fait, le combiner avec le flux DEFLATE optimisé de mon code Perl de 199 caractères donne une solution encore plus courte de 176 caractères:

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

Cependant, je pense que han mérite une mention honorifique spéciale pour être si proche sans utiliser d'outils de décompression pré-écrits. Félicitations à vous deux et bonne année à tous!

Ilmari Karonen
la source
Ok, je dois faire celui-ci en C ...
Michael Dorgan

Réponses:

1

Stax , 137 octets

"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

Exécuter et déboguer

Cela fonctionne comme ça.

  1. Commencez avec une grosse chaîne littérale.
  2. Convertissez en entier en décodant comme un nombre en base 90.
  3. Convertissez ce nombre en binaire.
  4. Les séquences de 0s suivies de a 1sont traduites en caractères non-espace.
  5. Tous les 1s restants sont remplacés par des espaces.
  6. La chaîne résultante est divisée en lignes de 54 caractères.
récursif
la source
Félicitations, on dirait que c'est la solution la plus courte maintenant! :)
Ilmari Karonen
17

Perl 5.10 - 195 198 202 202 203 caractères

Voici une entrée qui ne nécessite aucune bibliothèque au-delà de la correspondance d'expression rationnelle de base. La chaîne encodée est de 131 caractères, et le code à décoder et à imprimer prend 64 caractères (en supposant qu'il n'y ait pas de nouvelle ligne à la fin de la source). L'idée est de représenter des chaînes de 3 caractères courantes par des lettres minuscules.

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

L'encodeur est beaucoup plus long et malheureusement pas très lisible en ce moment. L'idée de base est d'utiliser la programmation dynamique pour trouver le codage le plus court pour chaque ligne, étant donné un ensemble fixe de substitutions de chaînes. La chaîne de substitutions sur la dernière ligne a été créée par essais et erreurs, et il est possible qu'une autre chaîne de substitutions conduise à un programme plus court que ci-dessus.

Une astuce ici est que certaines substitutions sont plus courtes que 3 caractères: en raison de la façon dont perl substrfonctionne, xest remplacé par ' _' et ypar ' _'. Ce dernier est nécessaire car \wdans l'expression régulière correspond à « _», qui est ensuite remplacé par « (_)».

han
la source
+1, très agréable. Vous pouvez enregistrer 2 caractères en les remplaçant printparsay
Toto
@ M42: Autant que je sache, sur perl 5.10 pour l'utiliser, sayvous devez soit faire, use 5.010;soit exécuter le script en une ligne avec perl -E 'script here'. Le premier rend le code plus long et le second n'est pas approprié pour un script multi-lignes. Ai-je oublié quelque chose?
han
Le -Ene compte pas en nombre de caractères.
Toto
1
Ps. Vous pouvez enregistrer quelques caractères supplémentaires en utilisant s''...'au lieu de $_=q!...!; n'oubliez pas d'échapper à la citation unique. Avec cela et sayau lieu de print(et en omettant la dernière nouvelle ligne), je descends à 198 caractères.
Ilmari Karonen
2
BTW, j'ai essayé d'utiliser des tabulations au lieu de #pour les longs espaces blancs et j'ai obtenu votre solution à 190 caractères. Je me demande s'il est possible de descendre en dessous de 184 caractères - cela battrait toutes les solutions compressées par zlib jusqu'à présent.
Ilmari Karonen
12

Brainfuck - 862 personnages:

>++++[<++++++++>-]>-----[<---->---]<+++>>--[<+>--]<---<<.>.<...>.<....
..>.<.>.<.............................>.<.....>.<.>.>>++++++++++.<.<<.
>>.<<.>>.<<.>>.<<.>...>.<<.>>.<<.>>.<<.>...<....>..<......>.....<..>.<
.>..>.<<.>>.<<.>..>.<<.>>.<<.>>.>.<.<<.>>.<.>.<<.>>.>>>-[<->+++++]<---
-.<<<<.>.<.>---.+++<.>>.<<.>>.>>.<<<<.>.<.>---.<...>.<.>.<.>>>>.<<<.<.
>>>>.<<<<.>>>>.<<<<.>+++.<.>---.>.<<.>>>>>>---[<+>+++++++]<++.<<<<+++.
.>.<<.>>.>>.<<<<.>.+.-<.>>.<<.>>.>.<.<<..>.<..>>.<<..>..>>>.<<<<.>>.<<
.>>.<<.>>>>>+.<<<<.>>>>+.<<<<<.>>.<<...>---.<.>------.<..>.<.>>>>.<<<<
.>>>>>-.<<<<+++++++++.>>>>+.<<<<<.>>.<<.>>.<<..>>.<<.>>.<<.>>>>>-.<<<<
.>.<<.>>.<.>.>.<.<.>.<<.>>.<.>.<---.+++...>.<.>.<.>.<---.+++...>>>>.<<
<<<.>>>>>+.<<<<<...>---.+++.>>>.<<<---.+++.>>>.<<<<.>---.+++...>>>.<<.
<.>.<<..>>.<.>.<---.+++..>>>>+++.<<<<.>>>>----.<<<<.>>>>+.<<.<<<......
..............>>.>>.<.
captncraig
la source
Notez que ce code suppose apparemment des cellules 8 bits; Je l'ai d'abord essayé sur un interprète avec des cellules 32 bits, et il s'est coincé [<---->---]sur la première ligne. (Vraisemblablement, cela aurait fini, mais je n'ai pas attendu assez longtemps pour cela.)
Ilmari Karonen
24
Comment diable avez-vous écrit ceci en deux heures?
Joey Adams
on dirait que vous enregistrez ``) (, / / ​​V_ \ n sur les premières cellules et vous les faites aller et venir en imprimant le caractère nécessaire (générateur de texte BF Dev?). Beau travail BTW
JBernardo
Cela dépend des cellules d'encapsulation 8 bits. Stocke quelques caractères communs comme vous l'avez dit, mais pas tous. Fait également des choses comme basculer entre «\» et «_» dans une cellule où ils sont suffisamment proches pour le faire.
captncraig
@JBernardo, le générateur de texte dev BF a donné un code beaucoup plus gros que cela. Je pense qu'il faudrait un générateur beaucoup plus compliqué pour battre cela.
captncraig
9

Python (2.x), 194 caractères

print'eNo9T8ENxCAMe5cp/DsqVco2fSH5BsnwZ4ccEIhxbAIgAK9KvDRwGBEjsSfJA6r2N7EISbmrpbLNKFRYOABaC6FAEYkPW/Ztm1t7Z1S3ydtHuV4ooolEV6vPyJ2XH8kGE7d9DAVMhFUte6h7xv5rxg8sf0Qc'.decode('base64').decode('zip')
tzot
la source
2
Cette réponse vient de faire ma journée xD. Je n'aurais jamais pensé voir un codegolf qui utilise réellement zip et base64 pour diminuer la taille des chaînes
daboross
4

Javascript, 273 265 264 caractères

" _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
la source
Économisez l'espace après le return-1 char :)
pimvdb
4

Cette réponse est plus longue que l'impression de la chaîne; cependant, juste pour le plaisir, le voici:

Python, 485 caractères ☺

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

Puisque j'ai l'une des représentations ASCII les plus courtes du texte original compressé, je dois avoir la barre de défilement la plus longue dans mon code! C'est une victoire! :)

tzot
la source
4
AKA "ma barre de défilement est plus longue que la vôtre"
tzot
Cette solution peut contenir jusqu'à 254 caractères. Cela vous dérange si j'édite dans la version plus courte?
han
@han: Bien sûr, le nombre de personnages peut être réduit; cependant, je n'ai pas écrit celui-ci en tant que candidat sérieux. Alors laissez celle-ci être votée pour son propre mérite, et écrivez une autre réponse en utilisant autant ou aussi peu de cette réponse que vous le souhaitez :)
tzot
Merci, je passerai à moins que quelqu'un d'autre ne soit vraiment intéressé. Je voulais juste souligner que cette solution peut être considérablement raccourcie par rapport au texte d'origine.
han
3

PHP, 194 189 caractères

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

C'est fondamentalement la même que la réponse Python et Perl, légèrement plus courte

konsolenfreddy
la source
L' php -r'=...'astuce ne semble pas fonctionner pour moi, mais vous pouvez simplement l'utiliser <?=...pour 184 caractères. De plus, votre sortie semble avoir un espace supplémentaire où le ret se lrencontrent.
Ilmari Karonen
OSX 5.3.6 fonctionne bien avec le -r'=..'. ne php -rcompte pas? Il est inclus dans mes 189 chars ...
konsolenfreddy
Généralement, le nom de l'interprète ne compte pas. Pour les options de ligne de commande, je suis allé par ce fil méta ; Le -rchangement de PHP est quelque chose d'un cas limite, car, en plus de simplement prendre du code comme paramètre et de l'exécuter, il modifie également légèrement l'environnement d'analyse par rapport à l'exécution du code à partir d'un fichier. Je serais enclin à le compter comme 2 caractères supplémentaires - ce qui le met d'ailleurs même avec <?.
Ilmari Karonen
3

Dans d'autres langues: C (version originale), 209 caractères ; Perl , 200 caractères .

J, 167 160 caractères (47 + 113)

Une autre soumission sans compression intégrée. Utilise un encodage de longueur variable assez simple, encodant chaque caractère comme une série de 1 bits et séparant les caractères par 0 bits. La chaîne compressée ne comporte que 113 caractères.

('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('
Luciole
la source
2

Python (2.7.x), 218 caractères

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

Assez simple ... pas vraiment satisfait de cette tentative.

Dillon Cower
la source
2

Bash, 199 196 193 caractères

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

Assez proche...

EDIT: jusqu'à 193!

Dillon Cower
la source
1
Agréable. Vous pouvez enregistrer trois autres caractères en les remplaçant gzip -dpar zcat.
Ilmari Karonen
3
L'utilisation d'une chaîne where sauverait l'écho.
Peter Taylor
2

bash, 196 192

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

Perl, 230 caractères

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

C'est fondamentalement la même que ma réponse Python. J'aimerais voir la version à 199 caractères .. ça ressemble à de la magie.

Dillon Cower
la source
Je ne le publierai pas encore tout à fait, mais vous êtes sur la bonne voie. Bien sûr, j'espère / j'espérais en quelque sorte que quelqu'un le battrait avec une approche complètement différente.
Ilmari Karonen
1

Perl, 294 290 octets.

La chaîne compressée seule est 151 130 octets.

Ce n'est pas court, mais c'était vraiment amusant à écrire.

@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
la source
1

Perl, 346 octets

La chaîne compressée seule, est de 111 octets.

@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

En essayant de comprendre ce que key= (0,(1,((((7,5),(6,(8,(11,(9,10))))),(4,3)),2))) faisait le python avec , j'ai fini par faire une version perl très similaire.

user2905252
la source
1

PHP 590

de toute évidence, je n'essaie pas de gagner, je me suis simplement intéressé à essayer un autre schéma de compression, bien qu'il ne puisse même pas battre la solution PHP 302 en texte brut plus simple de copier-coller

cela fonctionne comme un bitmap sur 10 canaux

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

lisible

<?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
la source
1

Pylongolf2, 300 octets

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

Je n'ai trouvé aucune méthode d'encodage chic, donc je ne suis probablement pas en compétition.


la source
0

Golf-Basic 84, 325

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

En supposant qu'une calculatrice puisse imprimer des tirets, des barres obliques inverses, des tuyaux simples et des traits de soulignement.

Timtech
la source
0

HTML + JS (223 caractères unicode)

Juste pour le fun:

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

NB: vous devez l'enregistrer dans un fichier HTML "UTF-8 with BOM".

xem
la source
Agréable. Fonctionne pour moi même sans nomenclature (Firefox 26 / Chromium 31), tant que l'encodage est réglé sur UTF-8 ou détection automatique. Hélas, il ne répond pas aux règles énoncées ("le programme doit être entièrement composé de caractères ASCII imprimables"). :-(
Ilmari Karonen
Je sais, c'était juste pour le plaisir;)
xem
0

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

tar xOf t

Essayez-le en ligne!

Le script Powershell pour créer l'archive t(voir TIO):

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