Скажите «Привет» миру в искусстве ASCII

14

Задача: создать следующий вывод, используя как можно меньше символов:

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

Правила и ограничения:

  • Вы не можете использовать FIGLet или любые другие подобные инструменты. (В противном случае, figlet Hello, world!было бы тривиальным и в значительной степени непобедимым решением.)

  • Ваша программа должна состоять полностью из печатных символов ASCII - в частности, кодовые точки 9 (TAB), 10 (LF) и 32 - 126. (Если ваш язык / операционная система требует разрывов строк CRLF, вы можете использовать их вместо простых LF.) Да это, к сожалению, дисквалифицирует любой язык, который требует не-ASCII символов (или нетекстовых данных) как часть его синтаксиса.

  • Вывод должен выглядеть точно так же, как в примере выше. Однако вы можете добавить лишние пробелы вокруг вывода, если хотите. Вы можете принять 8-символьный интервал между табуляциями (или настройку по умолчанию для выбранной вами платформы, если она соответствует).

Ps. Чтобы установить паритет, я предложил решение Perl с 199 символами. Я пока не буду публиковать это, если кто-то придумает это самостоятельно. (Кроме того, это немного глупо.) Конечно, это не должно отговаривать вас от публикации собственного решения, даже если оно дольше.


Обновление: Теперь, когда Хэн побил его одним символом, вот мое дерзкое решение Perl с 199 символами:

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'

Это очень похоже на решение DC (и все другие решения на основе zlib / gzip на разных языках), за исключением того, что я использовал uuencoding вместо base64 для сжатого текста и некоторые другие мелкие уловки игры в гольф.


Обновление 2 : я думаю, что пришло время официально признать победителя. Первое место занимает PHP-код konsolenfreddy , поскольку, несмотря на количество символов, он является самым коротким из представленных на данный момент. Фактически, в сочетании с оптимизированным потоком DEFLATE из моего Perl-кода из 199 символов получается еще более короткое решение из 176 символов:

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

Тем не менее, я думаю, что Хан заслуживает особого почетного упоминания за то, что он так близко подошел без использования каких-либо предварительно написанных инструментов декомпрессии. Поздравляю вас обоих, и с Новым годом всех!

Илмари Каронен
источник
Хорошо, я должен сделать это в C ...
Майкл Дорган

Ответы:

1

Stax , 137 байт

"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

Запустите и отладьте его

Это работает так.

  1. Начните с большого строкового литерала.
  2. Преобразовать в целое число путем декодирования в виде числа base-90.
  3. Преобразуйте это число в двоичное.
  4. Запуски 0s, сопровождаемые a 1, переводятся в непробельные символы.
  5. Все остальные 1s заменяются пробелами.
  6. Полученная строка разбивается на строки из 54 символов.
рекурсивный
источник
Поздравляю, похоже, это самое короткое решение сейчас! :)
Илмари
17

Perl 5.10 - 195 198 202 203 символов

Вот запись, которая не требует никаких библиотек, кроме базового соответствия регулярному выражению. Кодированная строка состоит из 131 символа, а код для декодирования и печати занимает 64 символа (при условии отсутствия перевода строки в конце источника). Идея состоит в том, чтобы представлять обычные 3-символьные строки строчными буквами.

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

Кодировщик намного длиннее и, к сожалению, не очень читаемый прямо сейчас. Основная идея состоит в том, чтобы использовать динамическое программирование для нахождения кратчайшего кодирования для каждой строки, учитывая фиксированный набор подстановок строк. Строка подстановок в последней строке была построена методом проб и ошибок, и вполне возможно, что другая строка подстановок может привести к более короткой программе, чем указанная выше.

Одна хитрость заключается в том, что некоторые подстановки короче 3 символов: из-за того, как substrработает perl , xон заменяется на ' _' и yна ' _'. Последнее необходимо, потому что \wв регулярных выражениях совпадает ' _', который затем заменяется на ' (_)'.

хань
источник
+1, очень мило. Вы можете сохранить 2 символа, заменив printнаsay
Toto
@ M42: Насколько я мог понять, на Perl 5.10 использовать sayвам необходимо либо делать use 5.010;или запустить скрипт как однострочник с perl -E 'script here'. Первый делает код длиннее, а второй не подходит для многострочного скрипта. Я что-то пропустил?
хан
-EНе учитывается в количестве полукокса.
Тото
1
Ps. Вы можете сохранить еще несколько символов, используя s''...'вместо $_=q!...!; только не забудьте избежать единственной цитаты. С этим и sayвместо print(и пропуская последний перевод строки) я получаю это до 198 символов.
Ильмари Каронен
2
Кстати, я пытался использовать вкладки вместо #длинных пробелов и довел ваше решение до 190 символов. Интересно, возможно ли падение ниже 184 символов - это побьет все решения, сжатые zlib.
Ильмари Каронен
12

Brainfuck - 862 персонажа:

>++++[<++++++++>-]>-----[<---->---]<+++>>--[<+>--]<---<<.>.<...>.<....
..>.<.>.<.............................>.<.....>.<.>.>>++++++++++.<.<<.
>>.<<.>>.<<.>>.<<.>...>.<<.>>.<<.>>.<<.>...<....>..<......>.....<..>.<
.>..>.<<.>>.<<.>..>.<<.>>.<<.>>.>.<.<<.>>.<.>.<<.>>.>>>-[<->+++++]<---
-.<<<<.>.<.>---.+++<.>>.<<.>>.>>.<<<<.>.<.>---.<...>.<.>.<.>>>>.<<<.<.
>>>>.<<<<.>>>>.<<<<.>+++.<.>---.>.<<.>>>>>>---[<+>+++++++]<++.<<<<+++.
.>.<<.>>.>>.<<<<.>.+.-<.>>.<<.>>.>.<.<<..>.<..>>.<<..>..>>>.<<<<.>>.<<
.>>.<<.>>>>>+.<<<<.>>>>+.<<<<<.>>.<<...>---.<.>------.<..>.<.>>>>.<<<<
.>>>>>-.<<<<+++++++++.>>>>+.<<<<<.>>.<<.>>.<<..>>.<<.>>.<<.>>>>>-.<<<<
.>.<<.>>.<.>.>.<.<.>.<<.>>.<.>.<---.+++...>.<.>.<.>.<---.+++...>>>>.<<
<<<.>>>>>+.<<<<<...>---.+++.>>>.<<<---.+++.>>>.<<<<.>---.+++...>>>.<<.
<.>.<<..>>.<.>.<---.+++..>>>>+++.<<<<.>>>>----.<<<<.>>>>+.<<.<<<......
..............>>.>>.<.
captncraig
источник
Обратите внимание, что этот код, очевидно, предполагает 8-битные ячейки; Сначала я попробовал его на интерпретаторе с 32-битными ячейками, и он застрял на [<---->---]первой строке. (Предположительно, это в конце концов закончилось бы, но я не ждал этого достаточно долго.)
Ильмари Каронен
24
Как, черт возьми, ты написал это за два часа?
Джои Адамс
похоже, что вы сохраняете `') (, / | V_ \ n в первых ячейках, а затем вы просто идете туда-сюда, печатая нужный символ (генератор текста BF Dev?). Отличная работа BTW
JBernardo
Это зависит от 8-битных упаковочных ячеек. Хранит несколько общих символов, как вы сказали, но не все. Также выполняет такие вещи, как переключение между «\» и «_» в одной ячейке, где они находятся достаточно близко, чтобы сделать это.
Captncraig
@JBernardo, генератор текста BF dev дал код намного больше, чем этот. Думаю, для этого потребуется гораздо более сложный генератор.
Captncraig
9

Python (2.x), 194 символа

print'eNo9T8ENxCAMe5cp/DsqVco2fSH5BsnwZ4ccEIhxbAIgAK9KvDRwGBEjsSfJA6r2N7EISbmrpbLNKFRYOABaC6FAEYkPW/Ztm1t7Z1S3ydtHuV4ooolEV6vPyJ2XH8kGE7d9DAVMhFUte6h7xv5rxg8sf0Qc'.decode('base64').decode('zip')
tzot
источник
2
Этот ответ только что сделал мой день xD. Я бы никогда не подумал, что увижу Codegolf, который на самом деле использует zip & base64 для уменьшения размера строки
daboross
4

Javascript, 273 265 264 персонажа

" _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
источник
Сэкономьте место после return, -1 символ :)
pimvdb
4

Этот ответ длиннее, чем просто печать строки; однако, просто для удовольствия, вот оно:

Python, 485 символов ☺

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

Поскольку у меня есть одно из самых коротких ASCII представлений сжатого исходного текста, у меня должна быть самая длинная полоса прокрутки в моем коде! Это победа! :)

tzot
источник
4
AKA «Моя полоса прокрутки длиннее вашей»
tzot
Это решение может быть до 254 символов. Вы не против, если я отредактирую в более короткой версии?
хан
@han: Конечно, количество символов можно уменьшить; однако я не написал этот как серьезный кандидат. Так что пусть за него проголосуют за его собственную заслугу, и напишите другой ответ, используя столько или меньше этого ответа, как вам нравится :)
tzot
Спасибо, я сдамся, если кто-то действительно не заинтересован. Я просто хотел отметить, что это решение может быть значительно короче исходного текста.
хан
3

PHP, 194 189 символов

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

Это в основном так же, как Python и Perl ответ, немного короче

konsolenfreddy
источник
php -r'=...'Трюк , кажется, не работает для меня, но вы можете использовать только <?=...для 184 символов. Кроме того, ваш вывод, кажется, имеет дополнительное пространство, гдеr и lвстретиться.
Илмари Каронен
OSX 5.3.6 отлично работает с -r'=..'. делаетphp -r не считать? Это включено в мои 189 символов ...
konsolenfreddy
Как правило, имя переводчика не считается. Для параметров командной строки я шел этим мета-потоком ; -rПереключатель PHP является чем-то вроде пограничного случая, поскольку, помимо того, что он принимает код в качестве параметра и запускает его, он также немного модифицирует среду анализа по сравнению с запуском кода из файла. Я был бы склонен считать это как 2 дополнительных символа - который случайно помещает это даже с <?.
Илмари Каронен
3

На других языках: C (оригинальная версия), 209 символов ; Perl , 200 символов .

J 167 160 символов (47 + 113)

Еще одно подчинение без встроенного сжатия. Использует довольно простое кодирование переменной длины, кодируя каждый символ как последовательность из 1 бита и разделяя символы на 0 бит. Сжатая строка содержит всего 113 символов.

('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('
Светляк
источник
2

Python (2.7.x), 218 символов

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

Довольно просто ... не очень доволен этой попыткой.

Диллон Кауэр
источник
2

Баш, 199 196 193 символов

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

Достаточно близко...

РЕДАКТИРОВАТЬ: до 193!

Диллон Кауэр
источник
1
Ницца. Вы можете сохранить еще три символа, заменив gzip -dна zcat.
Илмари Каронен
3
Использование строки where сохранит эхо.
Питер Тейлор
2

Баш, 196 192

base64 -d<<<H4sIAO4SqFMCA3VPQQ7AIAi7+4re5pIl/GYnk+4hPH4U0dOmILUUUBCAPEOBn8Wlao65SW6QudWJSYSUM5sqlQlZJAY2QPiAhSEJx8GSPVWm0TppOa3z1DWqboRZEY7K5pzmMw49kgU6TtXRwiDCpCrZxejTvn7u1l5z59MGKQEAAA|zcat
rpax
источник
1

Perl, 230 символов

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

Это в основном так же, как мой ответ Python. Я хотел бы видеть версию из 199 символов ... звучит как волшебство.

Диллон Кауэр
источник
Я пока не буду публиковать это, но вы на правильном пути. Конечно, я надеялся, что кто-то победит это совершенно другим подходом.
Илмари Каронен
1

Perl, 294 290 байт.

Только сжатая строка 151 130 байтов.

Это не коротко, но было действительно весело писать.

@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
источник
1

Perl, 346 байт

Одна сжатая строка имеет размер 111 байт.

@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

Пытаясь понять, что key= (0,(1,((((7,5),(6,(8,(11,(9,10))))),(4,3)),2))) делает Python с , я в итоге сделал очень похожую версию Perl.

user2905252
источник
1

PHP 590

очевидно, я не пытаюсь победить, просто заинтересовался попыткой использовать другую схему сжатия, хотя она не может даже превзойти более простое 302-простое PHP-решение для простого копирования

работает как растровое изображение на 10 каналах

"Golfed"

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

удобочитаемый

<?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
источник
1

Pylongolf2, 300 байт

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

Я не мог найти классные методы кодирования, поэтому я, вероятно, не конкурирую.


источник
0

Golf-Basic 84, 325

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

Предполагая, что калькулятор может печатать обратные косые черты, обратные косые черты, одиночные трубы и подчеркивания.

Timtech
источник
0

HTML + JS (223 символа Юникода)

Просто для удовольствия:

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

Примечание: вы должны сохранить его в HTML-файле «UTF-8 с спецификацией».

XEM
источник
Ницца. У меня работает даже без спецификации (Firefox 26 / Chromium 31), если кодировка установлена ​​на UTF-8 или автоопределение. Увы, он не соответствует заявленным правилам («программа должна состоять исключительно из печатных символов ASCII»). :-(
Илмари Каронен
Я знаю, это было просто для удовольствия;)
xem
0

PowerShell , 220 байт = скрипт: 9 + архив: 211

tar xOf t

Попробуйте онлайн!

Скрипт Powershell для создания архива t(см. TIO):

(
" _   _      _ _                             _     _ _",
"| | | | ___| | | ___    __      _____  _ __| | __| | |",
"| |_| |/ _ \ | |/ _ \   \ \ /\ / / _ \| '__| |/ _` | |",
"|  _  |  __/ | | (_) |   \ V  V / (_) | |  | | (_| |_|",
"|_| |_|\___|_|_|\___( )   \_/\_/ \___/|_|  |_|\__,_(_)",
"                    |/"
) | Set-Content f -Force
tar zcfo t f
Get-ChildItem t # output info about archive size
Mazzy
источник