Я пишу программу python, чтобы судить emoji с собранным набором unicode emoji. Во время теста я обнаружил, что один ☁
, возьмите ☁
в качестве примера, имеет два юникода, u'\u2601'
и u'\u2601\ufe0f'
, что означает \ufe0f
? Это то же самое, если я удалю его?
Некоторые emojis (например, ☁) имеют два unicode, u '\ u2601' и u '\ u2601\ufe0f'. Что означает u '\ ufe0f'? Это то же самое, если я удалю его?
Ответ 1
Это форма варианта, которая предоставляет больше информации для этих дисплеев, которые способны отображать цвет и другие вещи.
Эта диаграмма дает вам разницу между FE0F
и FE0E
:
Вы могли бы подумать, что версия FE0E
является текстовой версией в FE0F
unicode, а версия FE0F
- графикой (графические функции могут отображаться графически), которая грациозно ухудшается до текстовой версии, когда графический дисплей недоступен.
Ответ 2
В Unicode значение U+FE0F
называется селектором вариаций. Селектор вариаций в случае emoji состоит в том, чтобы сообщить системе о том, как он должен обрабатывать значение. То есть, следует ли рассматривать его как текст или изображение, которое может иметь дополнительные свойства, такие как цвет или анимация.
Для emoji существуют два разных селектора вариаций, которые могут быть применены, U+FE0E
и U+FE0F
. U+FE0E
указывает, что U+FE0E
должен быть представлен как текст. U+FE0F
указывает, что он должен быть представлен как изображение, с цветом и возможной анимацией.
Без селектора вариаций персонаж все равно отлично отображает (просто посмотрите на источник страницы на этом символе: ☁), но нет дополнительной информации о презентации.