web-dev-qa-db-ja.com

一部の絵文字(例:☁)には、u '\ u2601'とu '\ u2601 \ ufe0f'の2つのUnicodeがあります。 u '\ ufe0f'はどういう意味ですか?削除しても同じですか?

収集した絵文字ユニコードセットを使用して絵文字を判断するpythonプログラムを作成しています。テスト中に、1つの絵文字がを例にとると、2つのユニコードがあることがわかりました。 u'\u2601'u'\u2601\ufe0f'\ufe0fはどういう意味ですか?削除しても同じですか?

19
Vida

それが Variant Form であり、色などで表示できるディスプレイの詳細情報を提供します。

このグラフFE0FFE0Eの違いを示します。

enter image description here

FE0EバージョンはUnicodeテキストバージョンであり、FE0Fバージョンはグラフィックス(グラフィカルに表示できるもの)を備えていると考えることができます。グラフィックス表示がない場合は、テキストバージョンに正常に低下します。利用可能です。

Unicodeでは、値U+FE0F異体字セレクター と呼ばれます。絵文字の場合の異体字セレクターは、キャラクターをレンダリングするシステムに、値をどのように扱うかを指示することです。つまり、テキストとして扱うか、色やアニメーションなどの追加のプロパティを持つ可能性のある画像として扱うかです。

絵文字の場合 適用できる2つの異なる異体字セレクターがあります。U+FE0EおよびU+FE0FU+FE0Eは、絵文字をテキストのように表示することを指定します。 U+FE0Fは、色と可能なアニメーションを使用して、画像として表示する必要があることを指定します。

バリエーションセレクターがなくても、キャラクターは正常にレンダリングされますが(このキャラクターのページソースを見てください:☁)、プレゼンテーションに関する追加情報はありません。

8
theB