文字列の正規化をおこなうString.prototype.normalize()
- カテゴリー
- JavaScript/TypeScript >
- ECMAScript
全1回
見た目は同じなのに文字列比較が一致しない原因の多くは、Unicodeでは同じ文字を複数のコードポイント列で表現できることにあります。PDFや外部システムなど、生成方法を制御できない文字列を扱う際に知っておきたい、その正体とString.prototype.normalize()による対処方法を紹介します。
見た目と内部が異なる文字列の正体と対処
見た目が同じでも、Unicode上では異なるコードポイント列で表現され、比較が一致しない文字列があります。NFC・NFD・NFKC・NFKDという4つの正規化形式の違いを整理し、String.prototype.normalize()を使った解決方法を日本語の具体例とともに紹介します。