Ketika bermain golf kode akan ada saat-saat di mana Anda memerlukan Hex Dump dari kode Anda, biasanya karena Anda telah menggunakan karakter yang tidak diinginkan. Jadi, mengapa tidak membuat program yang Hex Dumps sendiri?
Tantangan
Tantangan ini adalah, tanpa input, mengeluarkan Hex Dump kode sumber Anda dalam pemformatan berikut:
0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
Atau, misalnya, jika program Anda print("SomeString"):rep(123)
0000: 70 72 69 6e 74 28 5c 22 53 6f 6d 65 53 74 72 69 print("SomeStrin
0010: 6e 67 5c 22 29 3a 72 65 70 28 31 32 33 29 g"):rep(123)
Spesifik
Dump hex dibagi menjadi baris tiga bagian, setiap baris mewakili 16 byte kode sumber Anda.
Bagian pertama adalah alamat memori. Ini menentukan di mana baris saat ini dimulai dalam kode Anda. Ditulis sebagai angka Byte 2 Heksadesimal, diikuti oleh :
, lalu spasi.
Yang Kedua, adalah Hex Dump itu sendiri. Ini adalah 16 byte Kode Sumber Anda, ditulis dalam bentuk Heksadesimal yang dipisahkan oleh spasi. Ini harus merupakan representasi byte yang akurat menggunakan pengkodean kode Anda.
Terakhir, setelah celah dua ruang, adalah kode itu sendiri. Ini hanya 16 karakter kode Anda, dengan karakter yang tidak dapat dicetak ditulis sebagai.
Catatan
- Ini adalah sebuah Quine tantangan, sehingga Standard Quine Aturan berlaku.
- Dan ini adalah tantangan kode-golf juga, jadi Standard Loopholes berlaku.
- Seperti yang ditunjukkan pada contoh kedua, jangan menulis byte setelah EOF, alih-alih gunakan spasi putih.
- Trailing whitespace baik-baik saja.
- Inbuilt ke Hex dump, jika Anda memilikinya dalam format spesifik ini, tidak dilarang tetapi disukai.
- Karakter yang tidak dapat dicetak mengacu pada karakter apa pun yang, yang direpresentasikan sebagai hanya satu byte, tidak dapat direpresentasikan sebagai mesin terbang spasi tunggal. Untuk UTF-8, ini berarti
0-31
,128-255
. Untuk Jelly Codepage , karena semua karakter dapat direpresentasikan sebagai mesin terbang spasi tunggal, tidak ada karakter yang tidak dapat dicetak.
xxd
itu?