Codifique una cadena para los extraterrestres que leen y escriben en inglés, pero no saben ASCII


12

Resulta que hay algunos extraterrestres distantes que saben inglés (y coincidentemente se han estandarizado en arquitecturas de computadora de 8 bits) . Sin embargo, nunca han oído hablar de ASCII, ni siquiera del orden alfabético.

Se cree que estos extraterrestres están recogiendo información de la Tierra. Sin embargo, lo están haciendo con equipos digitales que leen información sin sentido cuando no se envía ninguna transmisión ... por lo tanto, la señal debe estar contenida de manera que se destaque del ruido circundante.

Se ha creado un nuevo estándar, modelado a partir del uso del mensaje de Arecibo de una longitud de señal de semiprime:

Codificación semiótica universal para el intercambio de información (USCII)

(Ver: http://uscii.hostilefork.com )

En USCII, cada código se deriva de un mapa de bits que representa el carácter, que tiene un ancho y una altura de primer. Por ejemplo, esta representación 5x7 de una letra A:

01110
10001
10001
10001
11111
10001
10001

Eso produce 35 bits. Sin embargo, para que los mensajes de un solo carácter se destaquen del ruido y se vean coherentes, las cadenas están incrustadas en un formato contenedor que ayuda a reforzar los factores primos. El contenedor ha sido elegido para facilitar también la manipulación de las cadenas en arquitecturas que operan en múltiplos de 8 bits.

Con su contenedor, la "A" anterior se vería así:

0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
1111111111111111111111111111111111100000
1111111111111111111111111111111111100000
1111111111111111111111111111111111100000
1111111111111111111111111111111111100000
1111111111111111111111111111111111100000
0111010001100011000111111100011000100000
1111111111111111111111111111111111100000
1111111111111111111111111111111111100000
1111111111111111111111111111111111100000
1111111111111111111111111111111111100000
1111111111111111111111111111111111100000
1111111111111111111111111111111111100000
1111111111111111111111111111111111100000
1111111111111111111111111111111111111111
1111111111111111111111111111111111111111
1111111111111111111111111111111111111111
1111111111111111111111111111111111111111
1111111111111111111111111111111111111111

Los caracteres del mensaje tienen como prefijo cinco mapas de bits sólidos de 5x7 y siete mapas de bits sólidos de 5x7 agregados al final. (El "medidor" .) Luego, cada uno de estos tiene cinco 0 bits pegados en el extremo para formar incluso 40 bits.

Finalmente, hay 7 carreras de 40 bits todo cero agregadas al principio, y 5 carreras de 40 bits todo en uno agregadas al final. (El "silencio" .)

Tu misión

Debes escribir un codificador. La entrada es una cadena ASCII convencional escrita desde el teclado. Los mapas de bits que usará son de la fuente de CPU PIC 5x7 .

(Nota: es bastante fácil extraer la fuente de la página para todos los golfistas con código talentosos aquí, pero si quieres esos bytes todos juntos aquí están ).

La salida debe ser una cadena impresa en hexadecimal.

Ejemplos

Entrada :

ABCDEFG

Salida :

0000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE074631FC620F463E8C7C074610845C0E4A318CB80FC21E843E0FC21E84200746178C5E0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

Entrada :

Dear aliens: Please get me off of this planet!!!

Salida :

0000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0E4A318CB80001D1FC1E0001C17C5E0002D9842000000000000001C17C5E061084211C00100421080001D1FC1E0002D98C620001F0707C003180630000000000000F463E8420061084211C0001D1FC1E0001C17C5E0001F0707C0001D1FC1E00000000000001F1787C0001D1FC1E0213E421440000000000000375AD620001D1FC1E00000000000001D18C5C01148E210801148E210800000000000001D18C5C01148E210800000000000213E4214408421E8C6200100421080001F0707C00000000000003D1F420061084211C0001C17C5E0002D98C620001D1FC1E0213E421440210840008021084000802108400080FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

Aclaraciones

Condiciones ganadoras

0000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE074610845C0001D18C5C00842F8C5E0001D1FC1E00000000000746178C5E0001D18C5C061084211C01148E21080210840008021084000802108400080FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF


En mi opinión, los extraterrestres probablemente piensen que estamos locos por enviarles esas cosas.
Kyle Kanos

77
@KyleKanos Si los extraterrestres son inteligentes, pensarán que es genial. La conclusión de que la humanidad está loca ocurrirá poco después de que alguien use el formato para transmitirle información de los medios mundiales.
HostileFork dice que no confíes en SE

La última línea no está formateada, ¿puede formatearla como las otras líneas de entrada y salida?
AL

@ n.1 ¿No se muestra correctamente en su navegador? Se ve bien en el mío. Feliz de cambiarlo si hay un problema técnico, pero como describe la condición ganadora es técnicamente un "uso" y no una "mención" en la distinción de uso-mención , por lo que en realidad lo tuve en el estilo del texto del cuerpo a propósito. :-)
HostileFork dice que no confíes en SE

@Dr. Rebmu: en mi navegador en el escritorio está bien, pero con la aplicación de Android la pregunta es demasiado amplia: meta.stackexchange.com/q/231512/237701
AL

Respuestas:


3

Python 2, 671 669 663 bytes

D=str.decode
d=D(D("eJxNUmsSHiEIuxIgvn76sXr/IzVB26kzqyxCCBGRt0xlOM5RbXp6qv32Omu6lT22nTGiOVe05muMFXM11ZuuynwV52f8E7W11+SdzGMvTl6GHvm3ig6RRBbp3nqNqGEFeACK7m5YZYPAMMGV6qyk4ydKKD3FTPeAcQZhUAw4lh4aR8YcWaaVV480lDTJF64thyT4T+8tCjVofOtLnKInAAYDyJ0e9lxj+wJk/MYJ0nBQvYaRhnbQQEIrB5t1fX2VwdMnZF1zLF/Gf2H62PtXGYwypU5msXo2mNUvclE+QXqY3sNkg3GcKReKRTPrGnizNNCOw+tenSWaLQZf6VC926UYVw7I0y/eDEOo/LfKvvLdEQjt7NTzLXrkI2MmNrMPRYDng4a6VR0ThTKMgUA9XlYzTIsk+XtCH+y2mk1rf6VD4V7Xh2Cxb2YWkdkprlDCTR6yv5jnQSuQScEb0CBu5WXZ1ScN6gMDvWa73HNoy845VMg7wLBlA9wwhAMTiNn6ravFH00dtSc=","base64"),"zip")
i=raw_input()
m="F"*8+"E0"
o="0"*70+m*5
for c in i:x=ord(c)*9-288;o+=d[x:x+9]+"0"
print o+m*7+"F"*50

PHP con zlib, 738 716 715 bytes

<?php $d=gzinflate(base64_decode("TVJrEh4hCLsSIL5++rF6/yM1QdupM6ssQggRkbdMZTjOUW16eqr99jprupU9tp0xojlXtOZrjBVzNdWbrsp8Fedn/BO1tdfkncxjL05ehh75t4oOkUQW6d56jahhBXgAiu5uWGWDwDDBleqspOMnSig9xUz3gHEGYVAMOJYeGkfGHFmmlVePNJQ0yReuLYck+E/vLQo1aHzrS5yiJwAGA8idHvZcY/sCZPzGCdJwUL2GkYZ20EBCKwebdX19lcHTJ2Rdcyxfxn9h+tj7VxmMMqVOZrF6NpjVL3JRPkF6mN7DZINxnCkXikUz6xp4szTQjsPrXp0lmi0GX+lQvdulGFcOyNMv3gxDqPy3yr7y3REI7ezU8y165CNjJjazD0WA54OGulUdE4UyjIFAPV5WM0yLJPl7Qh/stppNa3+lQ+Fe14dgsW9mFpHZKa5Qwk0esr+Y50ErkEnBG9AgbuVl2dUnDeoDA71mu9xzaMvOOVTIO8CwZQPcMIQDE4jZ+q2rxR8="));$i=trim(fgets(STDIN));$f="str_repeat";echo $f(0,70).$f($m="FFFFFFFFE0",5);foreach(str_split($i)as$c)echo substr($d,ord($c)*9-288,9)."0";echo $f($m,7).$f("F",50);

Primero, su PHP necesita ser configurado con --with-zlib. Y ejecute este script desde la línea de comandos, como php 26972.php. Este programa recibe información de STDIN.

(Si short_open_tag=On, puedo guardar 3 bytes más).

Sin golf

<?php
$data = gzinflate(base64_decode("TVJrEh4hCLsSIL5++rF6/yM1QdupM6ssQggRkbdMZTjOUW16eqr99jprupU9tp0xojlXtOZrjBVzNdWbrsp8Fedn/BO1tdfkncxjL05ehh75t4oOkUQW6d56jahhBXgAiu5uWGWDwDDBleqspOMnSig9xUz3gHEGYVAMOJYeGkfGHFmmlVePNJQ0yReuLYck+E/vLQo1aHzrS5yiJwAGA8idHvZcY/sCZPzGCdJwUL2GkYZ20EBCKwebdX19lcHTJ2Rdcyxfxn9h+tj7VxmMMqVOZrF6NpjVL3JRPkF6mN7DZINxnCkXikUz6xp4szTQjsPrXp0lmi0GX+lQvdulGFcOyNMv3gxDqPy3yr7y3REI7ezU8y165CNjJjazD0WA54OGulUdE4UyjIFAPV5WM0yLJPl7Qh/stppNa3+lQ+Fe14dgsW9mFpHZKa5Qwk0esr+Y50ErkEnBG9AgbuVl2dUnDeoDA71mu9xzaMvOOVTIO8CwZQPcMIQDE4jZ+q2rxR8="));
$input = trim(fgets(STDIN));
$f = "str_repeat";

echo $f(0, 70).$f($m = "FFFFFFFFE0", 5);
foreach(str_split($input) as $c)
    echo substr($data, ord($c) * 9 - 288, 9)."0";
echo $f($m, 7).$f("F", 50);

+1 para la idea de usar solo 9 dígitos hexadecimales en datos comprimidos.
user2846289

716 es el # a batir hasta ahora ... ¡aunque imagino que se puede hacer en menos! Lo recompensaré un poco, pero si nadie supera el conteo, terminaré dándote ... al menos tienes una versión de Python y no PHP. :-)
HostileFork dice que no confíes en SE

Muy bien, 663 y no en PHP, incluso mejor. :-) ¡La recompensa es tuya!
HostileFork dice que no confíes en SE

2

C

En realidad, esto imprime hexadecimal legible por humanos (vs binario para legibilidad). Todo está representado en un largo largo sin signo y solo se usan 9-10 dígitos hexadecimales (dependiendo de si incluye el relleno 00000) el desafortunado formato 6x5 (una fuente 8x4 hubiera sido demasiado fácil)

#include <stdio.h>
#define u unsigned long long
void p(int n, u x){while(n--) printf("%09llX",x);}
int main(void){
char *s="ABCDEFG";
u a[128]={0xAAAAAAAAAULL,0xADEB7ADEAULL,0xDFF7FDFF6ULL,0xDEF7BDFF6ULL,0xFFFFFFCE6ULL,0xFF41DB82EULL,0xFD7FF747EULL,0xDC63107F6ULL,0xFEEE0BEFEULL,0x0003D0800ULL,0xE1084FB88ULL,0x21084201CULL,0xFB880FB88ULL,0x084ADFB08ULL,0x25F7BDF78ULL,0xE777BDDC8ULL,0xFFC8E27FEULL,0xFDE719DFEULL,0xDED4A73A2ULL,0xFD6B5AD7EULL,0xFC6318C7EULL,0xFD7FF8BBEULL,0xFFFFFFABEULL,0xF81CA703EULL,0x881445022ULL,0xFC58A347EULL,0x8BBDDDFF6ULL,0x1995E73A2ULL,0xAD6B5AD6AULL,0xDEF7BDEF6ULL,0xF7B5204F6ULL,0xFFFFF9EEEULL,0x000000000ULL,0x210840008ULL,0x529400000ULL,0x52BEAFA94ULL,0x23E8E2F88ULL,0xC644444C6ULL,0x64A88AC9AULL,0x611000000ULL,0x111084104ULL,0x410421110ULL,0x012AEA900ULL,0x0109F2100ULL,0x000006110ULL,0x0001F0000ULL,0x000000318ULL,0x004444400ULL,0x74675CC5CULL,0x23084211CULL,0x74422223EULL,0xF88820C5CULL,0x11952F884ULL,0xFC3C10C5CULL,0x3221E8C5CULL,0xF84444210ULL,0x7462E8C5CULL,0x7462F0898ULL,0x031806300ULL,0x031806110ULL,0x111104104ULL,0x003E0F800ULL,0x410411110ULL,0x744222008ULL,0x7442DAD5CULL,0x74631FC62ULL,0xF463E8C7CULL,0x74610845CULL,0xE4A318CB8ULL,0xFC21E843EULL,0xFC21E8420ULL,0x746178C5EULL,0x8C63F8C62ULL,0x71084211CULL,0x388421498ULL,0x8CA98A4A2ULL,0x84210843EULL,0x8EEB58C62ULL,0x8C7359C62ULL,0x746318C5CULL,0xF463E8420ULL,0x74631AC9AULL,0xF463EA4A2ULL,0x7C20E087CULL,0xF90842108ULL,0x8C6318C5CULL,0x8C6318A88ULL,0x8C631AD54ULL,0x8C5445462ULL,0x8C62A2108ULL,0xF8444443EULL,0x72108421CULL,0x000000000ULL,0x70842109CULL,0x22A200000ULL,0x00000003EULL,0x410400000ULL,0x001C17C5EULL,0x8421E8C7CULL,0x001F0841EULL,0x0842F8C5EULL,0x001D1FC1EULL,0x1148E2108ULL,0x001F1787CULL,0x8421E8C62ULL,0x010042108ULL,0x100421498ULL,0x4212A6292ULL,0x61084211CULL,0x00375AD62ULL,0x002D98C62ULL,0x001D18C5CULL,0x003D1F420ULL,0x001F17842ULL,0x002D98420ULL,0x001F0707CULL,0x213E42144ULL,0x002318C5CULL,0x002318A88ULL,0x00231AD54ULL,0x0022A22A2ULL,0x0022A2110ULL,0x003E2223EULL,0x190882106ULL,0x210802108ULL,0xC10822130ULL,0x0BA000000ULL,0xFE2A2AE3EULL};
p(7,0ULL);
p(5,0xFFFFFFFE0ULL);
while(*s)p(1,a[*s++]);
p(7,0xFFFFFFFE0ULL);
p(5,0xFFFFFFFFFULL);
return 0;
}

golpetazo

#!/bin/sh 
p(){
i=0
while ([ $i -lt $1 ]) do
printf $2
i=$((i+1))
done
}

t(){
#Given string input $1, go char by char & create "alien" representation 

C='~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !"#$%&~)*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~'
A="AAAAAAAAA0ADEB7ADEA0DFF7FDFF60DEF7BDFF60FFFFFFCE60FF41DB82E0FD7FF747E0DC63107F60FEEE0BEFE00003D08000E1084FB88021084201C0FB880FB880084ADFB08025F7BDF780E777BDDC80FFC8E27FE0FDE719DFE0DED4A73A20FD6B5AD7E0FC6318C7E0FD7FF8BBE0FFFFFFABE0F81CA703E08814450220FC58A347E08BBDDDFF601995E73A20AD6B5AD6A0DEF7BDEF60F7B5204F60FFFFF9EEE000000000002108400080529400000052BEAFA94023E8E2F880C644444C6064A88AC9A0611000000011108410404104211100012AEA90000109F2100000000611000001F000000000003180004444400074675CC5C023084211C074422223E0F88820C5C011952F8840FC3C10C5C03221E8C5C0F8444421007462E8C5C07462F08980031806300003180611001111041040003E0F8000410411110074422200807442DAD5C074631FC620F463E8C7C074610845C0E4A318CB80FC21E843E0FC21E84200746178C5E08C63F8C62071084211C038842149808CA98A4A2084210843E08EEB58C6208C7359C620746318C5C0F463E8420074631AC9A0F463EA4A207C20E087C0F9084210808C6318C5C08C6318A8808C631AD5408C544546208C62A21080F8444443E072108421C0000000000070842109C022A200000000000003E04104000000001C17C5E08421E8C7C0001F0841E00842F8C5E0001D1FC1E01148E21080001F1787C08421E8C620010042108010042149804212A6292061084211C000375AD620002D98C620001D18C5C0003D1F4200001F178420002D984200001F0707C0213E421440002318C5C0002318A88000231AD5400022A22A200022A21100003E2223E019088210602108021080C1082213000BA0000000FE2A2AE3E0"

j=0 
p 7 0000000000
p 5 FFFFFFFFE0
while ([ "${j}" -lt "${#1}" ]) do 
   i=${C%${1:$j:1}*}
   i=${#i}
   printf ${A:$(( $i*10 )):10} 
   j=$(($j+1)) 
done 
p 7 FFFFFFFFE0
p 5 FFFFFFFFFF
}
t "Dear aliens: Please get me off of this planet!!!"

@ Dr.Rebmu Me tomó más tiempo de lo que esperaba obtener la "fuente" en un formato viable. Había planeado publicar mi otro en breve, pero tomó más conversiones y formato de lo esperado.
technosaurus

1
¡+1 por cumplir con las especificaciones! Pero hay muchas posibilidades en el golf. ¿Por qué introducir un nuevo contador en la rutina p cuando n es mutable? ¿Por qué repetir la frase "unsigned long long" dos veces cuando un #define podría reducir eso? ¿Vale la pena pagar por 0x y ULL en una tabla codificada hexadecimal donde solo obtienes 4 bits por carácter en los dígitos mismos? Etc.
HostileFork dice que no confíes en SE

@ Dr.Rebmu arregló el contador adicional (supervisión), y planeé usar una macro para 0x##number##ULL(vea la versión bash para la alternativa char), pero ideone.com pensó que era una llamada de función, así que lo rechacé (gcc estaba bien) ... También podría eliminar el (vacío) de main, pero algunas cosas parecen estar mal.
technosaurus

En el código de golf, el único "error" es si no funciona o no cumple con las especificaciones ... ¡estar "correcto" es tener menos caracteres ! Si va a utilizar el enfoque aquí en su programa C, definitivamente diría que puede hacer que la cuenta regresiva de caracteres use cadenas hexadecimales en lugar de molestarse con el largo largo sin signo (especialmente cuando no necesita los valores enteros) excepto para volver a convertirlos en cadenas, lo que agrega código ...)
HostileFork dice que no confíes en SE

Agregue conteo de bytes al título. Además, deberías jugar más a tu código.
usuario12205

2

PHP, 874 bytes

Deberá ejecutar este script desde la línea de comando ( php uscii.php) porque toma la entrada de stdin.

<?php $f=base64_decode(str_replace('@','AA','@@@QhC@RSl@AClfV9SiPo4viYyIiJjZKiKyawi@@REIQQSCCEIiAEq6p@IT5C@@GEQ@Pg@@@xgAiIiAHRnXMXEYQhCOdEIiI/8RBBi4RlS+IX4eCGLjIh6MXfCIiEIdGLoxc6MXhEwDGAYwAGMAwiBERBBBAB8HwAQQQREQ6IREAR0QtrVzoxj+MfRj6MfOjCEIu5KMYy5+EPQh/8IehCDowvGL4xj+MYuIQhCOOIQhSZGVMUlGEIQhD8d1rGMYxzWcYujGMYu9GPoQg6MY1k30Y+pKL4QcEPvkIQhCRjGMYujGMYqJGMY1qqMVEVGMYxUQhPhEREPuQhCEOBBBBBA4QhCE4iog@@@AH0EE@@A4L4vhCHox8AD4Qg8IQvjF4AOj+DxFI4hC@+Lw+hCHoxiAgCEIQQBCFJiEJUxSWEIQhHAButaxAC2YxiADoxi4APR9C@Pi8IQAtmEI@+Dg+IT5CFEAEYxi4AIxiogARjWqgAioiogBFRCIAD4iI+MhEEIMhCAIQmCEEQmAug@@='));$a=trim(fgets(STDIN));$r='str_repeat';echo$r('0',70).$r($q='FFFFFFFFE0',5);foreach(str_split($a)as$c){$v=(ord($c)-32)*35;$x=$v>>3;$y=1<<(7-$v%8);$b=0;for($i=0;$i<40;$i++){$b+=$b+($i<35&&ord($f[$x])&$y);if(($i&7)==7)$b=!printf('%02X',$b);if(!($y>>=1)&&$x++)$y=128;}}echo$r($q,7).$r('F',50);

Sin golf:

<?php

// Font bitmap data rearranged as 95 consecutive 35-bit strings and padded
// out to 416 bytes with zeros:
$f=base64_decode(str_replace('@','AA',
    '@@@QhC@RSl@AClfV9SiPo4viYyIiJjZKiKyawi@@REIQQSCCEIiAEq6p@IT5C@@GEQ@Pg'.
    '@@@xgAiIiAHRnXMXEYQhCOdEIiI/8RBBi4RlS+IX4eCGLjIh6MXfCIiEIdGLoxc6MXhEw'.
    'DGAYwAGMAwiBERBBBAB8HwAQQQREQ6IREAR0QtrVzoxj+MfRj6MfOjCEIu5KMYy5+EPQh'.
    '/8IehCDowvGL4xj+MYuIQhCOOIQhSZGVMUlGEIQhD8d1rGMYxzWcYujGMYu9GPoQg6MY1'.
    'k30Y+pKL4QcEPvkIQhCRjGMYujGMYqJGMY1qqMVEVGMYxUQhPhEREPuQhCEOBBBBBA4Qh'.
    'CE4iog@@@AH0EE@@A4L4vhCHox8AD4Qg8IQvjF4AOj+DxFI4hC@+Lw+hCHoxiAgCEIQQB'.
    'CFJiEJUxSWEIQhHAButaxAC2YxiADoxi4APR9C@Pi8IQAtmEI@+Dg+IT5CFEAEYxi4AIx'.
    'iogARjWqgAioiogBFRCIAD4iI+MhEEIMhCAIQmCEEQmAug@@='));

// Fetch input:
$a=trim(fgets(STDIN));

// Header:
$r='str_repeat';
echo $r('0',70).$r($q='FFFFFFFFE0',5);

// Convert each input character into its corresponding hex sequence:
foreach (str_split($a) as $c) {
  $v=(ord($c)-32)*35;
  $x=$v>>3;
  $y=1<<(7-$v%8);
  $b=0;
  for ($i=0;$i<40;$i++) {
    // When $i>34, pad with zeros
    $b += $b + ($i<35 && ord($f[$x]) & $y);
    if (($i&7)==7) $b=!printf('%02X',$b); // print out $b and set $b=0
    // Shift mask to next bit position
    if (!($y>>=1)&&$x++) $y=128;
  }
}

// Tail:
echo $r($q,7).$r('F',50);

+1 (¡aunque espero que nadie envíe PHP a los extraterrestres!)
HostileFork dice que no confíes en SE

2

JavaScript ES6 (838 bytes)

_="z='00000';r=(n,m)=>m.repean);fop=prompi=o=';i<p.length;)o+=parseInatob('RSlClfV9SiPo4viYyIiJjZKiKyawiRQQSCCEq6pGEQPgxgAiIHRnXMXEYOdiI/8Ri4RlS+IX4eCGLjIhXfCIidGLcXhEwDGAYwAGMAwiBERBAB8HwAQQQREQ6IREAR0QtrVzj+MfRjfOjCu5KMYy5+EP/8IeDowvGL4xj+MYuIOOISZGVMUlGD8d1rxzWcYuju9GPoQgY1k30Y+pKL4QcEPvkIRjujqJ1qqMVEVxUPhEREPuEOBA4E4H0EEA4L4vH8AD4Qg8IQvjF4AOj+DxFI4+Lw+HgCQQBCFJiEJUxSWHAButaxAC2YxDi4APR9CPi8IQAtm+Dg+FEAEYxi4AIxARjWqgAioBFRCIAD4iI+MhEMAIQmCEEQmAugRV8nyE.split   p(e=>e028)).join    tch(/.{35}/g)[pi++)-32]+z,21610);14,z5,y='E0+o.toUpperCase(7,y5,10,'F)A.charCodeAQhGMY).toString(EI)).slice(-)+ ('.maC')hCoxiog(z+z+t(r(iABB6MFFAIT5C";for(Y in $=" ")with(_.split($[Y]))_=join(pop());eval(_)

No aplastado :

z='00000';r=(n,m)=>m.repeat(n);for(p=prompt(i=o='');i<p.length;)o+=(z+z+parseInt(atob('AAAAAAQhCAARSlAAAClfV9SiPo4viYyIiJjZKiKyawiAAAAREIQQSCCEIiAEq6pAAIT5CAAAAGEQAAPgAAAAAAxgAiIiAHRnXMXEYQhCOdEIiI/8RBBi4RlS+IX4eCGLjIh6MXfCIiEIdGLoxc6MXhEwDGAYwAGMAwiBERBBBAB8HwAQQQREQ6IREAR0QtrVzoxj+MfRj6MfOjCEIu5KMYy5+EPQh/8IehCDowvGL4xj+MYuIQhCOOIQhSZGVMUlGEIQhD8d1rGMYxzWcYujGMYu9GPoQg6MY1k30Y+pKL4QcEPvkIQhCRjGMYujGMYqJGMY1qqMVEVGMYxUQhPhEREPuQhCEOBBBBBA4QhCE4iogAAAAAAAH0EEAAAAA4L4vhCHox8AD4Qg8IQvjF4AOj+DxFI4hCAA+Lw+hCHoxiAgCEIQQBCFJiEJUxSWEIQhHAButaxAC2YxiADoxi4APR9CAAPi8IQAtmEIAA+Dg+IT5CFEAEYxi4AIxiogARjWqgAioiogBFRCIAD4iI+MhEEIMhCAIQmCEEQmAugAAARV8nyE').split('').map(e=>(z+z+e.charCodeAt(0).toString(2)).slice(-8)).join('').match(/.{35}/g)[p.charCodeAt(i++)-32]+z,2).toString(16)).slice(-10);r(14,z)+r(5,y='FFFFFFFFE0')+o.toUpperCase()+r(7,y)+r(5,r(10,'F'))

+1 pero más allá de una versión no aplastada, es útil verlo en un formato legible sin desplazamiento horizontal ...
HostileFork dice que no confíes en SE
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.