unicode
文字は複数のコードポイントで構成できます
サーチ…
備考
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