Inspiriert von dieser SciFi.SE-Frage.
Hintergrund (mit Minor Spoiler):
In dem Film The Martian verwendet der Protagonist Mark Watney eine ASCII-Tabelle, um hexadezimale Werte von ASCII-Zeichen nachzuschlagen, damit er versuchen kann, wieder mit der Erde zu kommunizieren. *
Herausforderung
Geben Sie ohne Eingabe die folgende ASCII-Tabelle genau so aus:
Dec Hex Dec Hex Dec Hex Dec Hex Dec Hex Dec Hex Dec Hex Dec Hex
0 00 NUL 16 10 DLE 32 20 48 30 0 64 40 @ 80 50 P 96 60 ` 112 70 p
1 01 SOH 17 11 DC1 33 21 ! 49 31 1 65 41 A 81 51 Q 97 61 a 113 71 q
2 02 STX 18 12 DC2 34 22 " 50 32 2 66 42 B 82 52 R 98 62 b 114 72 r
3 03 ETX 19 13 DC3 35 23 # 51 33 3 67 43 C 83 53 S 99 63 c 115 73 s
4 04 EOT 20 14 DC4 36 24 $ 52 34 4 68 44 D 84 54 T 100 64 d 116 74 t
5 05 ENQ 21 15 NAK 37 25 % 53 35 5 69 45 E 85 55 U 101 65 e 117 75 u
6 06 ACK 22 16 SYN 38 26 & 54 36 6 70 46 F 86 56 V 102 66 f 118 76 v
7 07 BEL 23 17 ETB 39 27 ' 55 37 7 71 47 G 87 57 W 103 67 g 119 77 w
8 08 BS 24 18 CAN 40 28 ( 56 38 8 72 48 H 88 58 X 104 68 h 120 78 x
9 09 HT 25 19 EM 41 29 ) 57 39 9 73 49 I 89 59 Y 105 69 i 121 79 y
10 0A LF 26 1A SUB 42 2A * 58 3A : 74 4A J 90 5A Z 106 6A j 122 7A z
11 0B VT 27 1B ESC 43 2B + 59 3B ; 75 4B K 91 5B [ 107 6B k 123 7B {
12 0C FF 28 1C FS 44 2C , 60 3C < 76 4C L 92 5C \ 108 6C l 124 7C |
13 0D CR 29 1D GS 45 2D - 61 3D = 77 4D M 93 5D ] 109 6D m 125 7D }
14 0E SO 30 1E RS 46 2E . 62 3E > 78 4E N 94 5E ^ 110 6E n 126 7E ~
15 0F SI 31 1F US 47 2F / 63 3F ? 79 4F O 95 5F _ 111 6F o 127 7F DEL
Die letzte Zeile ist optional. Mit dem Zeilenvorschub ist das md5 der Ausgabe 58824a1dd7264c0410eb4d727aec54e1
. Ohne ist es 41b6ecde6a3a1324be4836871d8354fe
.
Falls es hilft, ist dies die Ausgabe des ascii
Linux-Befehls mit den Nutzungsinformationen oben abgehackt. Sie können dies unter Ubuntu wie folgt neu erstellen:
sudo apt-get install ascii
ascii | tail -n+7
Sie dürfen das ascii
Dienstprogramm (oder ähnliches) in Ihren Antworten nicht verwenden.
Weil ASCII-Zeichen klein sind Genug mit diesem albernen Mem !
Mir ist bekannt, dass dies ähnlich ist wie die ASCII-Tabelle drucken , aber ich glaube, dass die Formatierung der Ausgabe in dieser Frage erheblich komplexer ist und eine andere Frage rechtfertigt.
* Hinweis, ich habe diesen Film noch nicht gesehen.
quelle
ascii
Dienstprogramms in Antworten - wenn ja, siehe meine Bearbeitung - es ist nicht zulässig.Antworten:
JavaScript (ES6), 323
332 353Bearbeiten Ich habe es geschafft, dies ein bisschen zu verkürzen.
Schritt 1, ob Sie es glauben oder nicht, mit einem Array von 16 Zeichen ist kürzer als
toString
+toUpperCase
Schritt 2,
.map
stattdessenfor
kann ich alles in eine einzelne Ausdrucksfunktion umwandeln und avodieren console.log und / oder return.Bearbeiten 2 DEL an Platz 0 verschoben, Idee von Cole Cameron entlehnt
MD5: 41B6ECDE6A3A1324BE4836871D8354FE
Pixel perfekt, würde ich sagen
WENIGER GOLF
Prüfung
quelle
C,
307310308307305 BytesEndlich 100% arbeiten.
Ausgabe:
Ungolfed:
Probieren Sie es auf Ideone .
Bearbeiten: 2 weitere Bytes. Vielen Dank an Dan Allen und Digital Trauma.
quelle
#include <stdio.h>
x,y,z=127;
und die 4 Vorkommen von 127 durch z ersetzen. Fügt 6 Zeichen hinzu, nimmt aber 8 weg.Bubblegum , 535 Bytes
Dieses obige Programm verwendet die LZMA-Komprimierung. Probieren Sie es online!
quelle
C
385384358 BytesDer Typ oben schlug mich hart, aber ich wollte mich trotzdem unterwerfen, weil ich diesen genossen habe.
Entgolft:
UPDATE: Ersetzte eine Variable durch j. Ein Byte
gespeichert ;) UPDATE2: Einige zusätzliche Dinge wurden abgeschnitten und ein Druck-Ding zum Speichern einiger Bytes aktiviert.
quelle
s/HEX/Hex/
.thingy
c verpasst haben ;-PJavaScript ES6
432405398385quelle
${o} ${o} ${o+o+o+o} ${o} ${o}
.Golfscript, 225 Bytes
quelle
Python 2.7, 389 Bytes
Wahrscheinlich werde ich nicht mehr versuchen, das zu reduzieren, aber es hat Spaß gemacht, es so weit zu bringen.
quelle
Python 3.4, 216 Bytes
Gilt auch für Python 2.7. Gebrauchte FryAmTheEggman Idee / Vorschlag über curses.ascii.controlnames, die fast 100 Bytes speichert.
quelle
Ruby (2.2.2p95), 277
295 306 331 364ungolfed
quelle
Microscript II , 1314 Bytes
Wahrscheinlich alles andere als optimal.
quelle
JavaScript,
415413423 1411406402414 2412 BytesIch konnte nicht herausfinden, wie die Zeichen vor dem Zeichencode 32 gedruckt werden, also habe ich sie nur als Zeichenfolge aufgelistet.
Der Hash, den ich habe, scheint zu passen (
41b6ecde6a3a1324be4836871d8354fe
).Demo + Ungolfed:
1 - fester Abstand
2 - wieder fester Abstand
quelle
MATLAB, 363 Bytes
Nicht so klein wie C, aber vergleichbar ...
quelle
/// 998 Bytes
Probieren Sie es online!
quelle
PHP ,
330321 BytesProbieren Sie es online!
Weniger golfen:
quelle
Common Lisp (SBCL), 309
Ein auszuführendes Skript, das Folgendes an die Standardausgabe ausgibt, d. H. die version ohne letzte newline (md5: 41b6ecde6a3a1324be4836871d8354fe).
Einzelheiten
(0 11 22 31 40 49 59 69)
Enthält die Position jeder Spalte in einer Zeile, die durch Überprüfen der gewünschten Ausgabe ermittelt wurde. Es gab viele Eckfälle, bei denen es einfach besser ist, die genaue Position für jede Spalte fest zu codieren und die~T
Formatanweisung nach Bedarf tabellieren zu lassen.Da die Namen der Zeichen implementierungsabhängig sind, zielt dieser Code nur auf den SBCL-Interpreter ab (ich habe ihn mit CCL getestet, der andere Namen verwendet). Ich verlasse mich
char-name
für die meisten nicht-grafischen Zeichen, aber einige von ihnen haben explizite Zuordnungen zur erwarteten Ausgabe.Ungolfed
quelle