Ternyata ada beberapa alien jauh yang tahu bahasa Inggris (dan secara kebetulan memiliki standar pada arsitektur komputer 8-bit) . Namun mereka belum pernah mendengar ASCII, atau bahkan urutan alfabet.
Diyakini bahwa alien-alien ini mengambil informasi dari Bumi. Namun mereka melakukannya dengan peralatan digital yang membaca informasi yang tidak berarti ketika tidak ada transmisi yang dikirim ... sehingga sinyal harus dikandung dengan cara untuk menonjol dari kebisingan di sekitarnya.
Sebuah standar baru telah dibuat, dimodelkan setelah penggunaan panjang sinyal semiprime dari Pesan Arecibo:
Pengkodean Semiotik Universal untuk Pertukaran Informasi (USCII)
(Lihat: http://uscii.hostilefork.com )
Dalam USCII, setiap kode diturunkan dari bitmap yang mewakili karakter, yang memiliki lebar prima dan tinggi prima. Misalnya, representasi 5x7 dari huruf A:
01110
10001
10001
10001
11111
10001
10001
Itu menghasilkan 35 bit. Namun untuk membuat bahkan pesan satu karakter menonjol dari kebisingan dan terlihat koheren, string tertanam dalam format wadah yang membantu memperkuat faktor utama. Wadah telah dipilih untuk memudahkan memanipulasi string pada arsitektur yang beroperasi pada kelipatan 8 bit.
Dengan wadahnya, "A" di atas akan terlihat seperti:
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
Karakter pesan diawali dengan lima bitmap 5x7 solid, dan tujuh bitmap 5x7 solid ditambahkan di bagian akhir. (The "meter" .) Kemudian masing-masing memiliki lima 0 bit ditempelkan di ujung untuk membuat bahkan 40 bit.
Akhirnya ada 7 semua-nol berjalan 40-bit ditambahkan ke awal, dan 5 semua-satu berjalan 40-bit ditambahkan ke akhir. ( "Diam" .)
Misi Anda
Anda harus menulis encoder. Input adalah string ASCII konvensional yang diketik dari keyboard. Bitmap yang akan Anda gunakan berasal dari font CPU PIC 5x7 .
(Catatan: Cukup mudah untuk mengekstrak font dari halaman untuk semua pegolf kode berbakat di sini, tetapi jika Anda ingin semua byte tersebut bersama-sama ada di sini .)
Output harus berupa string yang dicetak dalam heksadesimal.
Contohnya
Masukan :
ABCDEFG
Keluaran :
0000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE074631FC620F463E8C7C074610845C0E4A318CB80FC21E843E0FC21E84200746178C5E0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
Masukan :
Dear aliens: Please get me off of this planet!!!
Keluaran :
0000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0E4A318CB80001D1FC1E0001C17C5E0002D9842000000000000001C17C5E061084211C00100421080001D1FC1E0002D98C620001F0707C003180630000000000000F463E8420061084211C0001D1FC1E0001C17C5E0001F0707C0001D1FC1E00000000000001F1787C0001D1FC1E0213E421440000000000000375AD620001D1FC1E00000000000001D18C5C01148E210801148E210800000000000001D18C5C01148E210800000000000213E4214408421E8C6200100421080001F0707C00000000000003D1F420061084211C0001C17C5E0002D98C620001D1FC1E0213E421440210840008021084000802108400080FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
Klarifikasi
- Tidak perlu menangani karakter yang tidak dapat dicetak untuk tugas ini (meskipun umpan balik tentang ide-ide untuk apa yang terlihat seperti itu disambut)
Ketentuan Kemenangan
0000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE074610845C0001D18C5C00842F8C5E0001D1FC1E00000000000746178C5E0001D18C5C061084211C01148E21080210840008021084000802108400080FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF