Если я возьму букву 'а' и закодирую ее в UTF-8, я получу следующий результат:
'à'.encode('utf-8')
>> b'\xc3\xa0'
Теперь из байта я хотел бы преобразовать 'а' в двоичную строку ипревратить его обратно в «а».Для этого я выполняю следующий код:
byte = bytearray('à','utf-8')
for x in byte:
print(bin(x))
Я получаю 0b11000011
и 0b10100000
, что составляет 195 и 160. Затем я соединяю их вместе и вынимаю часть 0b
.Теперь я выполняю этот код:
s = '1100001110100000'
value1 = s[0:8].encode('utf-8')
value2 = s[9:16].encode('utf-8')
value = value1 + value2
print(chr(int(value, 2)))
>> 憠
Независимо от того, как я разрабатываю более позднюю часть, я получаю символы и, кажется, никогда не смогу вернуть свой «а».Я хотел бы знать, почему это?И как я могу получить 'а'.