При разборе /proc/self/mountinfo
на Linux некоторые поля каждой строки, описывающей каждое монтирование, вполне могут содержать символы в кодировке utf-8. Поскольку формат строки mountinfo
разделяет поля пробелами, mountinfo
экранирует по крайней мере
(пробел) и \
(backsla sh) как «\ 040» и «\ 134» (буквально!). Как мне преобразовать значение поля ("/ tmp / a \ ?", Python строка '/tmp/a\\134\\040?'
) обратно в строку без экранирования?
Есть ли способ лучше, чем следующий, довольно сложный (от { ссылка })? То есть с меньшим количеством цепочек кодирования / декодирования?
>>> s='/tmp/a\\134\\040?'
>>> s.encode().decode('unicode-escape').encode('latin-1').decode('utf-8')
'/tmp/a\\ ?'
PS: Не спрашивайте, почему кто-то в здравом уме будет использовать такие имена путей; это просто для иллюстрации;)