文字列の正規化をおこなうString.prototype.normalize()

全1回

見た目は同じなのに文字列比較が一致しない原因の多くは、Unicodeでは同じ文字を複数のコードポイント列で表現できることにあります。PDFや外部システムなど、生成方法を制御できない文字列を扱う際に知っておきたい、その正体とString.prototype.normalize()による対処方法を紹介します。

見た目と内部が異なる文字列の正体と対処

見た目が同じでも、Unicode上では異なるコードポイント列で表現され、比較が一致しない文字列があります。NFC・NFD・NFKC・NFKDという4つの正規化形式の違いを整理し、String.prototype.normalize()を使った解決方法を日本語の具体例とともに紹介します。