SymbolFYI

用語集

Unicode、エンコード、タイポグラフィの用語解説。

IDNホモグラフ攻撃 (IDN Homograph Attack)

正規サイトを偽装するためにドメイン名に視覚的に類似したUnicode文字を使用するフィッシング手法。

Programming & Dev

JavaScript文字列とコードポイント (JS String & Code Points)

Unicode用のJS Stringメソッド:codePointAt()、String.fromCodePoint()、書記素イテレーション用のスプレッド演算子。

Programming & Dev

Python unicodedataモジュール (Python unicodedata)

Unicode文字名、カテゴリ、プロパティを検索するためのPython標準ライブラリモジュール。

Programming & Dev

Unicodeサンドイッチパターン (Unicode Sandwich Pattern)

バイトをデコード → Unicodeでテキスト処理 → バイトにエンコードというプログラミングのベストプラクティス。

Programming & Dev

Unicodeプロパティエスケープ (\p{})

Unicodeプロパティで文字をマッチする正規表現構文(\p{Script=Greek}、\p{Letter})。JS、Java、Pythonなどでサポート。

Programming & Dev

Unicode照合 (Unicode Collation)

Unicode照合アルゴリズム(UCA、UTS #10)を使用して言語固有のルールに従いテキストをソートすること。

Programming & Dev

URL内の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