Грязная строка Python 3.6 с символами Unicode и байтами - PullRequest
0 голосов
/ 23 марта 2019

Итак, я беру заголовки статей из репозитория новостей Common Crawl, используя NewsPlease, но когда я беру заголовки статей, но они представляют собой смесь обычно кодированных символов и байтов Unicode, и я не могу правильно их кодировать.Принимая одно из названий:

x = articles[800].title

Если я вызываю x в spyder, он возвращает:

'Las 10 canciones m\\xc3\\xa1s populares de la semana'

Когда я использую print(x), я получаю:

Las 10 canciones m\xc3\xa1s populares de la semana

НО, если попытаться правильно его закодировать, используя: (как предлагают другие посты)

x.encode('latin1').decode('utf8')

Возвращает

'Las 10 canciones m\\xc3\\xa1s populares de la semana'

Что явно не правильно.

Любойесть предложения?Я использую Python 3.6, кстати

1 Ответ

0 голосов
/ 24 марта 2019

Нашел решение для этого:

x = 'this is a test of the Spanish word m\\xc3\\xa1s'
x = x.encode('latin1').decode('unicode_escape').encode('latin1').decode('utf8')
print(x)
'this is a test of the Spanish word más'
...