Некоторые несчастные коллеги сохранили некоторые данные в файл, подобный этому:
s = b'The em dash: \xe2\x80\x94'
with open('foo.txt', 'w') as f:
f.write(str(s))
, когда они должны были использовать
s = b'The em dash: \xe2\x80\x94'
with open('foo.txt', 'w') as f:
f.write(s.decode())
Теперь foo.txt
выглядит как
b'The em-dash: \xe2\x80\x94'
Вместо
The em dash: —
Я уже прочитал этот файл как строку:
with open('foo.txt') as f:
bad_foo = f.read()
Теперь, как я могу преобразовать bad_foo
из неправильно сохраненного формата в правильно-сохраненная строка?