絵文字ユニコード変換

絵文字をUnicodeコードポイント(U+XXXX)に変換するか、コードポイントを貼り付けて絵文字を取得します。

絵文字 → Unicode

Unicode → 絵文字

文字の詳細

文字の詳細を表示するには、上で絵文字を変換してください。

使い方

  1. 絵文字またはコードポイントを入力: 絵文字文字を貼り付けるか、Unicodeコードポイントを入力します(例: U+1F600)。
  2. すべての表現を表示: ツールは10進数コード、hex値、HTMLエンティティ、CSSエスケープ、UTF-8バイト、JavaScriptエスケープシーケンスを表示します。
  3. 任意の形式をコピー: 結果をクリックして瞬時にコピーし、HTML、CSS、JavaScriptで使用します。

なぜEmoji Unicodeコンバーターを使うのか?

絵文字はUnicodeコードポイントでエンコードされていますが、各システムは異なる形式を使用します。HTMLは😀または😀のエンティティを必要とします。CSS擬似要素は\1F600のエスケープ形式を必要とします。JavaScript文字列は\u{1F600}を必要とします。手動で見つけるのは退屈です, このツールは絵文字の単純な入力からすべての形式を瞬時に生成します。開発者、デザイナー、コンテンツクリエイターは、生の文字をコピー&ペーストするとエンコーディングの問題が発生する可能性があるコードに絵文字を安全に統合するためにこれを使用します。

サポートされている出力形式

絵文字の簡潔な歴史と、よく誤解されていること

最もよく語られる起源説は、NTT DoCoMoのShigetaka Kurita(栗田穣崇)が1998〜1999年に 「最初の絵文字」 を作ったというものだ。この話は事実だが不完全だ。Kurita以前にも注目すべき2つの出来事がある。

絵文字が世界に広まった経緯

Kuritaのセット以降の10年間、絵文字はDoCoMo・KDDI・SoftBankという3つの競合する互換性のないベンダーセットを持つ日本のキャリア固有の現象だった。世界への普及は3つの段階で起きた。

Unicodeコンソーシアムの標準化作業も並行して進んだ。2010年10月、Unicode 6.0が絵文字を公認セットとして追加した最初のバージョンで、日本のキャリアセットの統合から約722種類の絵文字を収録した。2014年8月、Unicode技術報告書#51が公開され(後に2017年5月にUTS #51に昇格)、絵文字のエンコード・シーケンス・表示方法の正式な仕様となった。

なぜほとんどの絵文字コードポイントはU+FFFFより上に存在するのか

Unicodeはすべての文字を65,536コードポイントを持つ17のプレーンに整理している。プレーン0は基本多言語面(BMP)で、U+0000からU+FFFFの範囲だ。日常的に使われる文字のほとんどはここに存在する。プレーン1〜16は補助プレーン(非公式に「アストラルプレーン」とも呼ばれる)で、U+10000からU+10FFFFの範囲だ。絵文字の大部分はプレーン1(補助多言語面)に存在し、具体的には感情図記号(U+1F600U+1F64F)・その他の記号と絵文字(U+1F300U+1F5FF)・交通・地図記号(U+1F680U+1F6FF)・補助記号と絵文字(U+1F900U+1F9FF)などのブロックに分布している。新しいSymbols and Pictographs Extended-AブロックはU+1FA70U+1FAFFの範囲だ。

これはUTF-16を使うため開発者にとって重要だ。UTF-16はBMPのコードポイントを単一の16ビット単位でエンコードするが、補助コードポイントはサロゲートペアとしてエンコードしなければならない。高サロゲート範囲U+D800U+DBFFと低サロゲート範囲U+DC00U+DFFFから各1つの計2つの16ビット単位だ。JavaScriptの文字列型は内部的にUTF-16であるため、"😀".lengthは1ではなく2を返す。エンジンはコードポイントではなくコード単位を数えているからだ。最近のJSコードではArray.from("😀").lengthまたはIntl.Segmenter APIを使ってグラフェムクラスターを正確に数える。

UTF-8は同じ絵文字を4バイト列として扱います。文字😀(U+1F600)はUTF-8ではF0 9F 98 80です。これがMySQLの古いutf8文字セット(実際にはutf8mb3で、3バイト列までに制限されている)が絵文字を保存できない理由であり、utf8mb4が必要になります。MySQL 8.0はutf8mb4をデフォルトにしましたが、レガシーなデータベースでは依然として絵文字の保存に失敗し、SQLモードに応じて黙って切り詰めたりエラーになったりします。これは現実によくあるバグです。

バリエーションセレクター:同じハートが黒にも赤にも見える理由

Unicodeの文字の一部は 「二重の性格」 を持っている。コンテキストによって、プレーンなモノクロのテキストシンボルとしても、カラフルな絵文字としても表示できる。2つの表示セレクターがUnicode 3.2(2002年3月)に追加された。U+FE0F(バリエーションセレクター16、VS16)は絵文字プレゼンテーションを要求し、U+FE0E(VS15)はテキストプレゼンテーションを要求する。例:U+2764、 「Heavy Black Heart」 )はデフォルトがテキスト表示のシンボルで、❤️U+2764 U+FE0F)はほとんどのアプリがカラーで表示する絵文字プレゼンテーションの赤いハートだ。VS16のありなしで同じコードポイントが全く異なって見える。

有名な関連例が太陽です。U+2600「Black Sun With Rays」はデフォルトではテキスト形式のモノクロですが、VS16(U+2600 U+FE0F)を加えるとカラフルな☀️になります。対照的に、U+1F31E「Sun With Face」はUnicode 6.0(2010年10月)で追加された別個のコードポイントで、デフォルトで絵文字表示となり、セレクタなしで笑顔の🌞として表示されます。2つの異なるコードポイント、2つの異なる歴史を持ち、どちらも非公式に「太陽の絵文字」と呼ばれています。

スキントーン修飾子とフィッツパトリックスケール

Unicode 8.0(2015年6月17日リリース)で、標準仕様は人物を表す任意の絵文字のスキントーンを調整する5つの修飾文字を追加した。これらの修飾子はフィッツパトリックスケール(ハーバード大学の皮膚科医Thomas B. Fitzpatrickが1975年に開発した皮膚科学的分類)に基づいている。医学的なスケールには6タイプ(I〜VI)がある。絵文字の目的上、タイプIとIIは1つの修飾子に統合されており、絵文字修飾子は5つとなる。

使い方は位置依存です。修飾子は対応する人型絵文字の直後に置きます。たとえば👋(U+1F44B、手を振る)+ U+1F3FD で👋🏽、中間の肌色の手振りになります。受信側のフォントが特定のベース+修飾子の組み合わせに対応していない場合、修飾子は別個の茶色い四角として表示されます。これは古いシステムでよくある表示の失敗です。

ゼロ幅ジョイナーシーケンス:複合絵文字の構成方法

ゼロ幅ジョイナー(コードポイントU+200D)は、レンダラーがシーケンスを認識した際に複数の絵文字を1つの複合グリフに結合させる 「接着剤」 の文字だ。ZWJは不可視で幅もなく、周囲の文字を融合させるようにレンダリングエンジンに信号を送る目的だけで存在する。主に3つのパターンがある。

Unicode 15.1(2023年9月12日リリース)で特に多用された。15.1では118種類の新絵文字が追加されたが、そのうち108種類は既存絵文字の方向バリアント(デフォルトの左向きではなく右向き)だ。重要なのは、15.1が新しいベースコードポイントをゼロ追加したという点で、すべての新絵文字は既存の構成要素から構築されたシーケンスだった。

キーキャップ、地域インジケーター、フラグのしくみ

キーキャップシーケンス。1️⃣のようなキーキャップ絵文字は3つのコードポイントから構成されます。数字(U+0031 = 「1」)、VS16(U+FE0F)、そして囲みキーキャップ結合文字U+20E3です。結合キーキャップは1999年にUnicode 3.0の一部として承認されました。キーキャップ絵文字の全セットは0-9に#*を加えたものをカバーします。この3文字のシーケンスは、単純な.lengthチェックを常に誤らせます。

地域表示記号のペア(旗)。Unicodeは国旗を単一の文字としてエンコードしません。代わりに、26個の地域表示記号を定義しており、コードポイントはU+1F1E6からU+1F1FFまで、それぞれラテン文字AからZに対応します。旗は、ISO 3166-1 alpha-2の国コードを綴る地域表示記号のペアです。フランス国旗🇫🇷はU+1F1EB U+1F1F7で、地域表示文字のFとRです。26 × 26 = 676通りの可能なペアのうち、有効なISO国コードに対応するのは約270通りだけで、残りはほとんどのプラットフォームで2つの文字記号として表示されます。

最近の絵文字バージョン、概要

ベンダーデザイン:同じコードポイント、異なるアートワーク

Unicodeは意味コードポイントを標準化するが、アートワークは標準化しない。各プラットフォームは独自の絵文字フォントを搭載しており、視覚的な違いは学術研究(Hecht et al.、CSCW 2018、クロスプラットフォームの絵文字誤解について)で記録されたコミュニケーションの誤解を引き起こすほど実質的だ。主要なフォント:

デバイスのフォントに特定のコードポイントまたはシーケンスのグリフがない場合、ブラウザとオペレーティングシステムは空白の四角形を表示する。これは一般的に豆腐(tofu)と呼ばれる。豆腐は受信側のデバイスが送信側より古いことを示す最も強いシグナルだ。新しい絵文字がUnicodeのリリースからすべての主要プラットフォームに普及するまで、通常6〜18ヶ月かかる。

アクセシビリティ:コンテンツ作成者が知るべきこと

最新のスクリーンリーダー(NVDA、JAWS、VoiceOver、TalkBack)は、各絵文字のCLDR短縮名をUnicode Common Locale Data Repositoryから読み上げます。たとえば😀は「grinning face」、👨‍👩‍👧‍👦は「family: man, woman, girl, boy」です。Unicode CLDRは90以上の言語で公式の短縮名とキーワードを管理しており、AppleとMicrosoftの主要なスクリーンリーダーはすべてこれを使用しています。WCAG技法H86は、意味のある絵文字を<span role="img" aria-label="thumbs up">👍</span>で囲むことを推奨しています。装飾的な絵文字はaria-hidden="true"で隠すべきです。3つの落とし穴があります。繰り返された絵文字は冗長になります(😂😂😂😂😂は「Face with tears of joy」と5回読み上げられます)。テキスト形式の顔文字(:))はUnicode短縮名がなく「colon close-paren」と読み上げられます。肌の色修飾子は読み上げられます(👋🏽は「waving hand: medium skin tone」と読まれ、情報は増えますが遅くなります)。

Emojipediaと文化的インフラストラクチャー

Emojipediaは2013年に、誕生日のディナーの後に思いつきでドメインを登録したオーストラリア人デザイナーJeremy Burgeによって設立されました。現在では絵文字の意味、ベンダーのデザイン、リリース情報に関する事実上のリファレンスサイトとなっており、2021年にはおよそ5億9,000万ページビューを記録しました。BurgeはUnicode絵文字小委員会に在籍し、2022年までEmojipediaの「最高絵文字責任者(Chief Emoji Officer)」を務め、世界絵文字デー(7月17日)を創設しました。これはAppleのカレンダー絵文字📅が7月17日を表示することにちなんで選ばれた日で、それ自体が2002年のMacworld ExpoでのAppleのiCalの当初の発表日へのオマージュです。Emojipediaは2021年8月にZedge, Inc.(NYSE: ZDGE)に買収され、同じブランドで運営を続けています。新しい絵文字の提案を評価するUnicode絵文字小委員会は、現在、元Googleのデザインリードであり、同小委員会初の女性委員長であるJennifer Danielが委員長を務めています。

クイックリファレンス数値

関連ツール

無料絵文字ピッカー HTMLエンティティ エンコーダー/デコーダー モールス信号翻訳機 キャラクターカウンター