Python3: преобразовать строку юникода апострофа

У меня есть строковое значение с таким апострофом:

"I\\xE2\\x80\\x99m going now."

Как я могу получить правильное значение апострофа?

"I`m going now."

Как вы знаете, \xE2\x80\x99 - это символ Юникода U+2019 RIGHT SINGLE QUOTATION MARK, но у меня строковое представление вместо байта...


person rpi_guru    schedule 04.12.2018    source источник


Ответы (1)


Возможно, это то, что вы хотите:

utf8_apostrophe = b'\xe2\x80\x99'.decode("utf8")
str = "I"+utf8_apostrophe+"m going now"

В сторону: я столкнулся с этим при преобразовании одинарной кавычки в твите с кодировкой UTF-8 в обычную одинарную кавычку.

import re
original_tweet = 'I’m going now'
string_apostrophe = "'"
print re.sub(utf8_apostrophe, string_apostrophe, original_tweet)

который производит

I'm going now
person BruceSpencer.Ca    schedule 08.02.2019