Rachid O
Rachid O

Reputation: 14052

python ascii to unicode conversion

i have a file with data like this:

\r\n\tSoci\u00e9t\u00e9 implant\u00e9 dans l'internet recrute des t\u00e9l\u00e9conseillers en b to b pour effectuer de la prise de rendez-vous qualifi\u00e9 pour de la conception de site internet et du r\u00e9f\u00e9rencement google.

how can i print it as unicode, like this:

Société implanté dans l'internet recrute des téléconseillers en b to b pour effectuer de la prise de rendez-vous qualifié pour de la conception de site internet et du référencement google.

i know i have to use some unicode function but what?

Upvotes: 1

Views: 890

Answers (1)

Martijn Pieters
Martijn Pieters

Reputation: 1125058

That looks like a python unicode string literal; decode this from unicode_escape.

Demo:

>>> data = "\r\n\tSoci\u00e9t\u00e9 implant\u00e9 dans l'internet recrute des t\u00e9l\u00e9conseillers en b to b pour effectuer de la prise de rendez-vous qualifi\u00e9 pour de la conception de site internet et du r\u00e9f\u00e9rencement google."
>>> data.decode('unicode_escape')
u"\r\n\tSoci\xe9t\xe9 implant\xe9 dans l'internet recrute des t\xe9l\xe9conseillers en b to b pour effectuer de la prise de rendez-vous qualifi\xe9 pour de la conception de site internet et du r\xe9f\xe9rencement google."
>>> print data.decode('unicode_escape')

    Société implanté dans l'internet recrute des téléconseillers en b to b pour effectuer de la prise de rendez-vous qualifié pour de la conception de site internet et du référencement google.

You can either decode the data as you read it from the file (using a binary mode), or you can use io.open() in Python 2, or regular open() in Python 3 to have data decoded on the fly:

from io import open

with open(filename, 'r', encoding="unicode_escape") as inputfile:
    for line in inputfile:
        print(inputfile)

Note that JSON strings use the same escape syntax; \uhhhh denotes a Unicode codepoint using just ASCII characters.

Upvotes: 2

Related Questions