サーチ…


備考

Unicodeコードポイントは、しばしばプログラマが1文字を考えると、ユーザが1文字と考えるものに対応します。しかし、上記の例のように、「文字」が複数のコードポイントで構成されていることがあります。

つまり、文字列をスライスしたり、指定されたインデックスで文字を取得したりする操作が、期待通りに機能しない可能性があります。例えば、文字列"Café"の4 番目の文字は'e' (アクセントなし)です。同様に、文字列を長さ4にクリッピングすると、アクセントが削除されます。

そのようなコード・ポイントのグループの技術用語は、 書記素クラスターです。 UAX#29:Unicode Text Segmentationを参照してください。

発音欄

発音記号付きの手紙は、手紙と結合修飾語で表すことができます。あなたは通常、 を1文字と考えるが、実際には2つのコードポイントである:

  • U+0065 - ラテン小文字E
  • U+0301 - 緊急迎合

同様に = c + ¸ = a + ˚

複合フォーム

問題を複雑にするために、構成されたフォームのコードポイントもあります。

"Café" = 'C' + 'a' + 'f' + 'e' + '´'
"Café" = 'C' + 'a' + 'f' + 'é'

これらの文字列は同じに見えますが、等しくなく、同じ長さ(それぞれ5と4)もありません。

Zalgo Text

Zalgo Textと呼ばれるものがあります。この例の最初の書記素クラスタがあります。それは15のコードポイントで構成されています:ラテン文字Hと14の結合マーク。

H

これは通常のテキストでは表示されませんが、「文字」は実際には任意の数のコードポイント

絵文字と旗

絵文字の多くは、複数のコードポイントで構成されています。

  • 🇯🇵:フラグは「地域記号インジケータ文字」(🇯+🇵)のペアとして定義され、
  • 🙋🏿:いくつかの絵文字の後にスキントーンモディファイアが続く場合があります:🙋+
  • 😀︎またはvariation:Windows 10では、バリエーションセレクタ( U+FE0EまたはU+FE0F )を追加することで、絵文字が色付きか白黒かを指定できます。
  • 👨👩👧👦:家族。男女、女の子、男(👦、👧、👩、👨)の絵文字をゼロ幅の参加者( U+200D )と一緒にエンコードします。それをサポートするプラットフォームでは、これは2人の子供がいる家族の絵文字としてレンダリングされます。


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow