Reading utf-8 escape sequences from a file

python, python-unicode, utf8-decode

Solution

According to this answer, changing the following should have the expected result.

In Python 3:

`codecs.open(file, 'r', encoding='utf-8')` to

`codecs.open(file, 'r', encoding='unicode_escape')`

In Python 2:

`codecs.open(file, 'r', encoding='string_escape')`

Problem

I have an utf-8 encoded file that contains multiple lines like ``` \x02I don't like \x0307bananas\x03.\x02 Hey, how are you doing? You called? ``` How do I read the lines of that file to a list, decoding all the escape sequences? I tried the code below: ``` with codecs.open(file, 'r', encoding='utf-8') as q: quotes = q.readlines() print(str(random.choice(quotes))) ``` But it prints the line without decoding escape characters. ``` \x02I don't like \x0307bananas\x03\x02 ``` (Note: escape characters are IRC color codes, `\x02` being character for bolded text, and `\x03` prefix for color codes. Also, this code is from within my IRC bot, with the MSG function replaced by `print()`)

Original source

Related problems