06/07/2010
Qu'est-ce qu'on peut écrire en hexadécimal ?
Pour l'instant au boulot je travaille avec un gentil morveux étudiant fort sympathique qui assume une certaine geekitude nécessaire pour ce genre de métier. Par exemple, au lieu de glander totalement sur ToiTuyau, il a codé un petit bout de C, un programme qui vérifie quels mot on peut écrire uniquement avec des caractères hexadécimaux. Amusant. Et puis ça peut servir si on manque d'inspiration pour une IPv6 ou un magic number. Moi je l'ai refait mais en Python. Parce que Python, c'est bien.
#!/usr/bin/python
# Filtre sur les mots qu'on peut exprimer en hexadecimal
# Input: liste de mots sur STDIN, un mot par ligne
# Output: les mots valides, en hexadecimal, avec la version lisible
# Jean-Karim Bockstael - jkb@jkbockstael.be
import sys
import string
HEXCHARS = ('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f')
for line in sys.stdin:
word = line[:-1].lower().translate(string.maketrans('tioslg','710519'))
for letter in word:
hexable = letter in HEXCHARS
if not hexable:
break
if hexable:
print word + ' ' + line,
Moi, le Python, j'aime bien.