Untuk menandai peringatan hari IPv6 Dunia , Internet Society telah menerbitkan kampanye untuk Matikan IPv4 pada 6 Juni 2014 untuk One Day .
Alamat IPv6 dapat direpresentasikan dalam bentuk panjang sebagai delapan nilai hex 16-bit yang dipisahkan oleh titik dua. Bergantung pada alamatnya, mereka juga dapat dipersingkat seperti yang dijelaskan dalam item 2 dari bagian 2.2 Representasi Teks dari Alamat RFC 3513 :
Untuk membuat alamat penulisan yang mengandung nol bit lebih mudah, sintaks khusus tersedia untuk mengompresi nol. Penggunaan "::" menunjukkan satu atau lebih grup dengan 16 bit nol. "::" hanya dapat muncul sekali dalam satu alamat. "::" juga dapat digunakan untuk mengompresi nol di depan atau di belakang alamat.
Entri untuk tantangan ini adalah program yang menerima tepat satu alamat IPv6 yang diformat dalam format panjang atau pendek, dan akan menampilkan alamat yang sama dalam format panjang dan pendek, dalam urutan itu.
Input mungkin berasal dari argumen baris perintah, STDIN, atau sumber input lain yang sesuai dengan pilihan bahasa Anda.
Perpustakaan atau utilitas khusus untuk mem -parsing alamat IPv6 dilarang (mis. Inet_ {ntop, pton} () ).
Jika alamat input tidak valid, output akan kosong (atau beberapa pesan kesalahan yang sesuai menunjukkan alamat tidak valid diberikan)
Dalam kasus di mana
::
pemendekan terjadi, hanya satu operasi pemendekan dapat terjadi untuk alamat yang diberikan. Jika ada lebih dari satu operasi pemendekan potensial untuk alamat yang diberikan, operasi yang memberikan keseluruhan alamat terpendek harus digunakan. Jika ada ikatan dalam hal ini, operasi pertama akan digunakan. Ini diilustrasikan dalam contoh di bawah ini.
Contoh:
Input Output
1080:0:0:0:8:800:200C:417A 1080:0:0:0:8:800:200C:417A
1080::8:800:200C:417A
FF01::101 FF01:0:0:0:0:0:0:101
FF01::101
0:0:0:0:0:0:0:1 0:0:0:0:0:0:0:1
::1
:: 0:0:0:0:0:0:0:0
::
1:0:0:2:0:0:0:3 1:0:0:2:0:0:0:3
1:0:0:2::3
1:0:0:8:8:0:0:3 1:0:0:8:8:0:0:3
1::8:8:0:0:3
1:2:3:4:5:6:7:8 1:2:3:4:5:6:7:8
1:2:3:4:5:6:7:8
ABCD:1234 <Invalid address format - no output>
ABCDE::1234 <Invalid address format - no output>
1:2:3:4:5:6:7:8:9 <Invalid address format - no output>
:::1 <Invalid address format - no output>
codegolf puzzle <Invalid address format - no output>
Ini adalah codegolf , jadi jawaban tersingkat dalam byte pada 6 Juni 2014 akan diterima sebagai pemenang.
1::2:0:0:0:3
mungkin input?
1:0:0:2:2::3
. Apakah output yang diperpendek akan identik dengan itu atau1::2:2:0:0:3
? Sama untuk input yang diperpendek secara tidak optimal.