2016-08-02 12 views
9

Czy emoji zajmują dobrze zdefiniowany zakres kodu Unicode?Czy istnieje określony zakres punktów kodowych Unicode, które można sprawdzić pod kątem emoji?

Czy istnieje ostateczny sposób sprawdzenia, czy punkt kodowy jest emoji w python 2.7?

Nie mogę znaleźć żadnych informacji na ten temat. Kilka źródeł wskazywali na zakres:

\U0001f600-\U0001f650 

Ale na przykład, ma punkt kodu

\U0001f918 

która leży poza tym zakresem.

Dzięki.

+0

Może warto zbadać: https://github.com/mathiasbynens/emoji-regex Dynamicznie generują wyrażenie regularne, aby uwzględnić aktualizację zakresów emoji, – Keozon

+1

Chciałem zapytać, jak definiują Państwo to, co jest lub jest emoji, ale najwyraźniej jest to coś, co definiuje standard Unicode. – user2357112

+0

Czy wbudowana jest obsługa Unicode w języku Python? Czy jego tabele wymagają przeliczenia za każdym razem, gdy Unicode.org dodaje kolejny SMILING KITTY? (Przypominam, że wspomniano o tym w innej odpowiedzi na podobny temat.) – usr2564301

Odpowiedz

5

regex obsługuje dopasowywanie przez właściwość Unicode, ale niestety nie (jeszcze?) Obsługuje emoji-specific properties. Kiedy to robi, znalezienie ich będzie tak proste, jak:

>>> regex.match(ur'\P{Emoji=yes}', u'') # NOTE: Doesn't (yet) work 

W międzyczasie here's the emoji table from unicode.org.

+3

Należy zauważyć, że obejmuje to znaki takie jak '#' i '*', ponieważ o wiele więcej znaków ma 'Emoji = yes', niż można się spodziewać . Filtrowanie na 'Emoji_Presentation = yes' jest bardziej selektywne, ale może wykluczyć znaki, które możesz * uznać za emoji, takie jak RIGHT ANGER BUBBLE. – user2357112

Powiązane problemy