#Fájlban lévő szöveg bináris és hexadecimális kódolása.
#A hexadecimális kód alapján az eredeti szöveg előállítása.


def binaris_and_hex(s):
    b=[bin(ord(s[i]))[2:] for i in range(len(s))]
    h=[(hex(ord(s[i])).upper()[2:]+'  ')[0:3] for i in range(len(s))]
    #for i in range(len(s)):
        #b.append(bin(ord(s[i]))[2:])
        #hexi=hex(ord(s[i])).upper()[2:]
        #h.append((hexi+'  ')[0:3])

    return ':'.join(b),''.join(h)

#**********************************************************************

def szoveg(filename):
    with open(filename,'r',encoding='utf-8') as f:

        szoveg=f.read()     #teljes fájl beolvasása szövegként
        print('Eredeti szöveg:\n',szoveg,'\n-----------------------')

        bin_code,hex_code=binaris_and_hex(szoveg)

        print('Bináris:\n',bin_code,'\n-----------------------')
        print('Hexadecimális:\n',hex_code,'\n-----------------------')

        f.close()

    return hex_code

#**********************************************************************

def vissza(s):
    betuk=''
    for i in range(0,len(s)-1,3):
        betuk+=chr(int(s[i:i+3],16))

    return betuk        

#**********************************************************************
#                           F Ő M O D U L                             *
#**********************************************************************    
#problemas={'ő','Ő','ű','Ű'}
print('ő:',hex(ord('ő')),'Ő:',hex(ord('Ő')),'ű:',hex(ord('ű')),'Ű:',hex(ord('Ű')))
print('Hexadecimálisból visszakonvertált szöveg:\n',vissza(szoveg('kodolando.txt')))
