Как правильно сделать следующее:
- принять любую строку в кодировке Unicode (это считывается из файла, содержащего строки в кодировке utf-8)
- , еслистрока содержит буквенные escape-последовательности (последовательности) в форме \ xA0 \ xB0 (поэтому в Python это будет отображаться как \ xA0 \ XB0), замените их действительными символами или некоторым запасным вариантом (например, пробелом), если это недопустимый код
- если строка содержит буквенные экранированные символы Юникода в форме \ u0008 (так в python это будет отображаться как \ u0008), замените фактическим символом, представленным этим кодом
- , если строка содержит экранированные строки в питонев форме \ n или \ t (поэтому в python это будет отображаться как \ n и \ t), замените реальным символом, представленным этим кодом
- В качестве бонуса также замените все HTML-объекты в форме& # а0;
- все действительные символы Юникода должны оставаться неизменными
По сути, что-то, что преобразует весь мусор, который иногда получается, когда люди неправильно создали файл, и теперь он содержит литералэкранирует вместо кода, представленного этими экранированием.
Это ДОЛЖНО быть решенной проблемой, но все, что я могу найти, это довольно неуклюжие и неполные решения.