Как я могу преобразовать bin в char и char в bin в ASCII (в байтах)?
Например, если у меня есть: 1010111001100111110010101001011111000001101111011000011
У меня должно быть ®Ï*¾°
, но если Я преобразую этот символ в bin У меня будет:
1010111011001111101010101111101101110110000
Эта двоичная строка не совпадает, потому что, например, char * получается с 00101010
при преобразовании bin в голец. Но когда я конвертирую char * в bin, у меня появляется 101010
.
Вот мой код:
def bin_to_char(self,text_bin):
char=''
stock=''
for bit in text_bin:
if len(stock)<8:
stock+=bit
elif len(stock)==8:
print(stock)
char+=chr(int(stock, 2))
print(char)
stock=''
char+=chr(int(stock, 2)) #add the last binary text less than 8
return(char)
def char_to_bin(self,char):
chbin=''
for e in char:
print(e)
chbin+=format(ord(e), 'b')
print(chbin)
return(chbin)