Я пытался закодировать символ плюс-минус в Python 2.7 между двумя числами (например, 10 ± 8,9).
При просмотре документации по питону я обнаружил, что мне нужно кодировать символ плюс-минус в UTF-8, а не в стандартном ASCII.
Вот короткий пример, освещающий проблему, которую я обнаружил, взяв значение Unicode для плюс-минус из Википедии
plusminus = u'\u00b1'
print(plusminus) #All seems fine, but this is in ASCII format
±
plusminus.encode('utf-8') #Two symbols are outputted. This is strange!
'\xc2\xb1'
print(a.encode('utf-8')) #Yep. two symbols were encoded from one Unicode
±
print(u'\xb1') #Parital solution is to accept latter symbol
±
Несмотря на то, что я решил проблему (отсеиваю), взявпоследний символ, это кажется странным, что кодирование будет выводить два символа.Я предполагаю, что я делаю что-то не так, но я не могу найти других примеров этого.
Вот вопросы, которые у меня есть:
1) Что я делаюздесь не так?
2) Есть ли способ кодировать символы (например, плюс-минус) в UTF-8 напрямую без дополнительных символов?