2013-05-20 19 views
5

Chciałbym móc używać Unicode w moim ciągu Pythona. Na przykład mam ikonę:Jak używać znaków Unicode w ciągu Pythona

icon = '▲' 
print icon 

, która powinna utworzyć icon = '& # x25B2;'

lecz dosłownie zwraca go w postaci łańcucha: ▲

Jak mogę rozpoznać ten ciąg Unicode?

Dziękuję za pomoc z góry.

+0

Ty shoudl dostosować tytuł Twojego pytania. Pytanie nie ma nic wspólnego z utf-8. – Achim

Odpowiedz

9

można użyć sekwencji ciąg ewakuacyjnych, co zostało udokumentowane w the “string and bytes literals” section odniesienia do języka. Dla Pythona 3 to będzie działać po prostu tak:

>>> icon = '\u25b2' 
>>> print(icon) 
▲ 

W Python 2 to działa tylko w obrębie ciągów Unicode. ciągi Unicode mają u przedrostek przed cudzysłowem:

>>> icon = u'\u25b2' 
>>> print icon 
▲ 

nie jest to konieczne w Pythonie 3, wszystkie ciągi w Pythonie 3 ciągi są Unicode.

2

Zastosowanie \u ucieczki w ciągu znaków Unicode dosłownym:

>>> print u"\u25B2".encode("utf-8") 
▲ 

Alternatywnie, jeśli chcesz korzystać podmioty HTML, można użyć tej odpowiedzi: https://stackoverflow.com/a/2087433/71522

3
>>> print u'\N{BLACK UP-POINTING TRIANGLE}' 
▲ 
Powiązane problemy