import sys import char_encodings encoded = bytes.fromhex(sys.argv[1]) decodings = {} for encoding in char_encodings.encodings: try: decoded = encoded.decode(encoding) except UnicodeDecodeError: continue if decoded not in decodings: decodings[decoded] = [] decodings[decoded].append(encoding) for decoded, encodings in decodings.items(): print(f'{",".join(encodings)}: {repr(decoded)}')