hexToBinArray = { '0' : '0000' , '1' : '0001' , '2' : '0010' , '3' : '0011' ,
'4' : '0100' , '5' : '0101' , '6' : '0110' , '7' : '0111' ,
'8' : '1000' , '9' : '1001' , 'A' : '1010' , 'B' : '1011' ,
'C' : '1100' , 'D' : '1101' , 'E' : '1110' , 'F' : '1111' }
toDecode = [ 'FF 81 BD A5 A5 BD 81 FF' , 'AA 55 AA 55 AA 55 AA 55' , '3E 7F FC F8 F8 FC 7F 3E' , '93 93 93 F3 F3 93 93 93' ]
htba = hexToBinArray
def bitmap( string ) :
hexList = string .split ( " " )
i = 0
while i < len ( hexList) :
hexList[ i] = list ( hexList[ i] )
i += 1
i = 0
while i < len ( hexList) :
p1 = htba[ hexList[ i] [ 0 ] ]
p2 = htba[ hexList[ i] [ 1 ] ]
fi = p1+p2
hexList[ i] = fi
i += 1
i = 0
while i < len ( hexList) :
temp = ''
for value in hexList[ i] :
if value == '0' :
temp = temp + ' '
else :
temp = temp + 'x'
hexList[ i] = temp
i += 1
for x in hexList:
print ( x)
if __name__ == "__main__" :
for x in toDecode:
bitmap( x)
aGV4VG9CaW5BcnJheSA9IHsnMCc6ICcwMDAwJywgJzEnOiAnMDAwMScsICcyJzogJzAwMTAnLCAnMyc6ICcwMDExJywKICAgICAgICAgICAgICAgICAnNCc6ICcwMTAwJywgJzUnOiAnMDEwMScsICc2JzogJzAxMTAnLCAnNyc6ICcwMTExJywKICAgICAgICAgICAgICAgICAnOCc6ICcxMDAwJywgJzknOiAnMTAwMScsICdBJzogJzEwMTAnLCAnQic6ICcxMDExJywKICAgICAgICAgICAgICAgICAnQyc6ICcxMTAwJywgJ0QnOiAnMTEwMScsICdFJzogJzExMTAnLCAnRic6ICcxMTExJ30KdG9EZWNvZGUgPSBbJ0ZGIDgxIEJEIEE1IEE1IEJEIDgxIEZGJywgJ0FBIDU1IEFBIDU1IEFBIDU1IEFBIDU1JywgJzNFIDdGIEZDIEY4IEY4IEZDIDdGIDNFJywgJzkzIDkzIDkzIEYzIEYzIDkzIDkzIDkzJ10KCmh0YmEgPSBoZXhUb0JpbkFycmF5CgpkZWYgYml0bWFwKHN0cmluZyk6CiAgICBoZXhMaXN0ID0gc3RyaW5nLnNwbGl0KCIgIikKICAgIGkgPSAwCgogICAgd2hpbGUgaSA8IGxlbihoZXhMaXN0KToKICAgICAgICBoZXhMaXN0W2ldID0gbGlzdChoZXhMaXN0W2ldKQogICAgICAgIGkgKz0gMQoKICAgIGkgPSAwCgogICAgd2hpbGUgaSA8IGxlbihoZXhMaXN0KToKICAgICAgICBwMSA9IGh0YmFbaGV4TGlzdFtpXVswXV0KICAgICAgICBwMiA9IGh0YmFbaGV4TGlzdFtpXVsxXV0KICAgICAgICBmaSA9IHAxK3AyCiAgICAgICAgaGV4TGlzdFtpXSA9IGZpCiAgICAgICAgaSArPSAxCgogICAgaSA9IDAKCiAgICB3aGlsZSBpIDwgbGVuKGhleExpc3QpOgogICAgICAgIHRlbXAgPSAnJwogICAgICAgIGZvciB2YWx1ZSBpbiBoZXhMaXN0W2ldOgogICAgICAgICAgICBpZiB2YWx1ZSA9PSAnMCc6CiAgICAgICAgICAgICAgICB0ZW1wID0gdGVtcCArICcgJwogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgdGVtcCA9IHRlbXAgKyAneCcKICAgICAgICBoZXhMaXN0W2ldID0gdGVtcAogICAgICAgIGkgKz0gMQoKICAgIGZvciB4IGluIGhleExpc3Q6CiAgICAgICAgcHJpbnQoeCkKCmlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICBmb3IgeCBpbiB0b0RlY29kZToKICAgICAgICBiaXRtYXAoeCk=