2016-06-29 12 views
13

Piszę program Pythona do oceny emoji z zestawem emoji unicode. Podczas testu odkryłem, że jeden emoji, jako przykład, ma , ma dwa znaki Unicode, u'\u2601' i u'\u2601\ufe0f', co oznacza \ufe0f? Czy to samo dotyczy usunięcia?Niektóre emoji (np. ☁) mają dwa unikody, u ' u2601' i u ' u2601 ufe0f'. Co znaczy u' ufe0f? Czy to samo dotyczy usunięcia?

+2

W rzeczywistości zapewnia to więcej informacji ... O kolorze i tym podobnych. Jest to [formularz wariantu] (https://en.m.wikipedia.org/wiki/Variant_form_ (Unicode)). –

+0

FE0F jest [selektorem zmian] (https://en.m.wikipedia.org/wiki/Variant_form_ (Unicode)) –

+2

@PraveenKumar brzmi jak odpowiedź, nie sądzisz? –

Odpowiedz

6

W standardzie Unicode U+FE0F nazywa się variation selector. Selekcja zmian w przypadku emoji polega na informowaniu systemu, w jaki sposób powinien on traktować wartość. To znaczy, czy powinno być traktowane jako tekst, czy jako obraz, który może mieć dodatkowe właściwości, takie jak kolor lub animacja.

For emoji Dostępne są dwa różne selektory zmian, które można zastosować: U+FE0E i U+FE0F. U+FE0E określa, że ​​emoji powinien być prezentowany jak tekst. U+FE0F określa, że ​​powinien on być prezentowany jako obraz, z kolorem i możliwą animacją.

Bez selektora zmiany znak nadal jest wyświetlany poprawnie (po prostu spójrz na źródło strony w tym znaku: & # x2601;), ale nie ma dodatkowych informacji na temat prezentacji.

+0

Czy emoji bez żadnego selektora zmian jest prawidłowe? – syntonym

+0

Tak. Jeśli spojrzysz na źródło strony, gdzie notatka jest w moim ostatnim akapicie, zobaczysz, że wstawiam tylko znak emoji '& # x2601;' a nie selektor zmiany – theB

10

To jest Variant Form, który zapewnia więcej informacji dla tych wyświetlaczy, które można wyświetlać za pomocą kolorów i innych rzeczy.

This chart daje różnicę między FE0F i FE0E:

enter image description here

Można uznać, że wersja FE0E jest wersja tekstu Unicode, a wersja FE0F jest z grafiką (tych które są w stanie wyświetlać graficznie), które z gracją ulegają degradacji do wersji tekstowej, gdy wyświetlacz graficzny nie jest dostępny.