import sys import char_encodings if len(sys.argv) == 2: decoded = sys.argv[1] else: decoded = input() singlebyte = {} multibyte = {} for encoding in char_encodings.encodings: try: encoded = decoded.encode(encoding) except UnicodeEncodeError: continue if len(encoded) == len(decoded): if encoded not in singlebyte: singlebyte[encoded] = [] singlebyte[encoded].append(encoding) else: if encoded not in multibyte: multibyte[encoded] = [] multibyte[encoded].append(encoding) for encoded, encodings in singlebyte.items(): print(f'{",".join(encodings)}: {encoded.hex()}') print() for encoded, encodings in multibyte.items(): print(f'{",".join(encodings)}: {encoded.hex()}')