Есть вот такой код который преобразует текст в цифры:
def bins_str(text):
ASCII_BITS = 8
def to_bin(c):
return bin(ord(c))[2:].zfill(ASCII_BITS)
return ''.join(to_bin(c) for c in text)
inputString = "текст"
bin_str = int(bins_str(inputString), 2) # результат - 19184738688437314
И код который делает тоже самое но в обратную сторону:
def int_to_text(number):
ASCII_BITS = 8
bin_str = bin(number)[2:]
pad = '0' * (ASCII_BITS - len(bin_str) % ASCII_BITS)
bin_str = pad + bin_str
chars = []
for i in range(0, len(bin_str), ASCII_BITS):
bin_part = bin_str[i: i + ASCII_BITS]
c = chr(int(bin_part, 2))
chars.append(c)
return ''.join(chars)
asd = int_to_text(19184738688437314) # результат - D(k¢B , а должно быть - текст
В общем что то не так с кодировкой , и только с русскими символами , если использовать английские то все нормально