Python 3: Unescape буквальный шестнадцатеричный, Unicode и Python Escape - PullRequest
0 голосов
/ 27 февраля 2019

Как правильно сделать следующее:

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

По сути, что-то, что преобразует весь мусор, который иногда получается, когда люди неправильно создали файл, и теперь он содержит литералэкранирует вместо кода, представленного этими экранированием.

Это ДОЛЖНО быть решенной проблемой, но все, что я могу найти, это довольно неуклюжие и неполные решения.

...