Reputation: 79
I am trying to write a file in python, and I can't find a way to decode a byte object before writing the file, basically, I am trying to decode this bytes string:
Les \xc3\x83\xc2\xa9vad\xc3\x83\xc2\xa9s
into this, which is the original text I'm trying to recover:
Les évadés
I tried using the .decode('utf-8') and encode('utf-8') but nothing seems to work...
I always get Les évadés
as a result...
I am using python 3.4.3
Anyone can help?
Upvotes: 7
Views: 3398
Reputation: 1145
What you need to do is to decode and then encode:
s = "Les \xc3\x83\xc2\xa9vad\xc3\x83\xc2\xa9s"
utf = s.decode('utf-8')
latin = utf.encode("latin-1","ignore")
print latin
--> Les évadés
Upvotes: -1
Reputation: 1079
And if you want a Python 3 solution:
b = b'Les \xc3\x83\xc2\xa9vad\xc3\x83\xc2\xa9s'
u = b.decode('utf-8').encode('latin-1').decode('utf-8')
print(u)
# Les évadés
Upvotes: 3