Під час гольфу на коді буде час, коли вам потрібен шістнадцятковий дамп вашого коду, як правило, тому, що ви використовували недруковані символи. Отже, чому б не зробити програму, яку Hex Dumps сам?
Змагання
Ця проблема полягає в тому, щоб, не вводячи даних, виводити шістнадцятковий дамп вашого вихідного коду у такому форматі:
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 ................
Або, наприклад, якщо ваша програма була 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)
Особливості
Шістнадцятковий дамп розбивається на рядки з трьох частин, кожен рядок представляє 16 байт вашого вихідного коду.
Перша частина - це адреса пам'яті. Він визначає, звідки починається поточний рядок у вашому коді. Написано у вигляді 2-байтного шістнадцяткового числа, за яким слід a :, потім пробіл.
Друге - це сам Hex Dump. Це 16 байт вашого вихідного коду, написаного у шістнадцятковій формі, розділеною пробілами. Це має бути точне байтове подання з використанням кодування вашого коду.
Нарешті, після двох пробілів у просторі - це сам код. Це просто 16 символів вашого коду, а символи, які не друкуються, написані як.
Примітки
- Це є Куайн завданням, тому стандартними Куайном правил застосовуються.
- І це також завдання коду-гольфу , тому стандартні лазівки застосовуються .
- Як показано у другому прикладі, не пишіть байти після EOF, а використовуйте пробіли.
- Трейлінг пробілу добре.
- Вбудовування на шістнадцятковий дамп, якщо у вас є такий у цьому конкретному форматі, не заборонені, але нахмурені.
- Символи, що не друкуються, позначають будь-який символ, який, представлений лише одним байтом, не може бути представлений як один рознесений гліф. Для UTF-8 це означає
0-31, що128-255. Для сторінки Jelly Codepage , оскільки всі символи можуть бути представлені як один проміжний гліф, немає символів, які не можна друкувати.
xxdце?