用語集
Unicode、エンコード、タイポグラフィの用語解説。
IDNホモグラフ攻撃 (IDN Homograph Attack)
正規サイトを偽装するためにドメイン名に視覚的に類似したUnicode文字を使用するフィッシング手法。
Programming & DevJavaScript文字列とコードポイント (JS String & Code Points)
Unicode用のJS Stringメソッド:codePointAt()、String.fromCodePoint()、書記素イテレーション用のスプレッド演算子。
Programming & DevPython unicodedataモジュール (Python unicodedata)
Unicode文字名、カテゴリ、プロパティを検索するためのPython標準ライブラリモジュール。
Programming & DevUnicodeサンドイッチパターン (Unicode Sandwich Pattern)
バイトをデコード → Unicodeでテキスト処理 → バイトにエンコードというプログラミングのベストプラクティス。
Programming & DevUnicodeプロパティエスケープ (\p{})
Unicodeプロパティで文字をマッチする正規表現構文(\p{Script=Greek}、\p{Letter})。JS、Java、Pythonなどでサポート。
Programming & DevUnicode照合 (Unicode Collation)
Unicode照合アルゴリズム(UCA、UTS #10)を使用して言語固有のルールに従いテキストをソートすること。
Programming & DevURL内のUnicode (Unicode in URLs & IRIs)
URLでUnicode文字がどう扱われるか:IRI(RFC 3987)、UTF-8バイトのパーセントエンコーディング、ブラウザ表示。
Programming & Devエンコーディング検出 (Encoding Detection)
BOM検出、ヒューリスティクス、chardetライブラリなどを含むテキストファイルの文字エンコーディング検出技法。
Programming & Devコードポイント vs 文字 vs グリフ (Code Point vs Character vs Glyph)
3つの抽象化レベルの理解:コードポイント(数値)、文字(抽象概念)、グリフ(視覚的レンダリング)。
Programming & Dev文字列長 vs 文字数 (String Length vs Character Count)
JavaScriptのstr.lengthが視覚的文字ではなくUTF-16コードユニット数を返す理由と、書記素を正しく数える方法。
Programming & Dev書記素分割 (Grapheme Segmentation, UAX #29)
絵文字シーケンスや結合マークなどを処理し、テキストをユーザーが認識する文字単位に分割するUnicodeアルゴリズム。
Programming & Dev正規表現のUnicodeサポート (Regex Unicode Support)
JSの/uフラグ、Pythonのre.UNICODEなど、Unicode対応の正規表現の使い方。
Programming & Dev