Pour marquer l'anniversaire de la journée mondiale IPv6 , l'Internet Society a publié une campagne pour désactiver IPv4 le 6 juin 2014 pour One Day .
Les adresses IPv6 peuvent être représentées sous leur forme longue par huit valeurs hexadécimales de 16 bits séparées par deux-points. Selon l'adresse, ils peuvent également être raccourcis comme décrit au point 2 de la section 2.2 Représentation textuelle des adresses de la RFC 3513 :
Afin de faciliter l'écriture d'adresses contenant zéro bit, une syntaxe spéciale est disponible pour compresser les zéros. L'utilisation de "::" indique un ou plusieurs groupes de 16 bits de zéros. Le "::" ne peut apparaître qu'une seule fois dans une adresse. Le "::" peut également être utilisé pour compresser des zéros de début ou de fin dans une adresse.
Les inscriptions à ce défi seront les programmes qui acceptent exactement une adresse IPv6 formatée soit dans le format long ou raccourci, et affichera la même adresse dans les deux formats longs et courts, dans cet ordre.
L'entrée peut provenir d'arguments de ligne de commande, STDIN ou de toute autre source d'entrée qui convient à votre choix de langue.
Les bibliothèques ou utilitaires spécifiquement pour l'analyse des adresses IPv6 sont interdits (par exemple inet_ {ntop, pton} () ).
Si l'adresse d'entrée n'est pas valide, la sortie sera vide (ou un message d'erreur approprié indiquant que l'adresse n'est pas valide est donné)
Dans les cas où le
::
raccourcissement se produit, une seule opération de raccourcissement peut se produire pour une adresse donnée. S'il existe plusieurs opérations de raccourcissement possibles pour une adresse donnée, l'opération qui donne l'adresse la plus courte globale doit être utilisée. S'il y a égalité à cet égard, la première opération sera utilisée. Ceci est illustré dans les exemples ci-dessous.
Exemples:
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>
Ceci est codegolf , donc la réponse la plus courte en octets du 6 juin 2014 sera acceptée comme gagnante.
1::2:0:0:0:3
une entrée possible?
1:0:0:2:2::3
. La sortie raccourcie serait-elle identique à celle ou1::2:2:0:0:3
? Idem pour une entrée raccourcie de manière non optimale.