[1] [DFN[[RUBYB[正規化]@en[normalization]]]]、[DFN[[RUBYB[正準化]@en[canonicalization]]]]は、
表記揺れを統一する[[演算]]です。

* いろいろな正規化

[3] 
[FIG(short list)[
- [[ホスト構文解析器]]
- [[URLの正準化]]
- [[言語タグの正規化]]
- [[XML正準化]]
- [CODE(HTML)@en[rel=canonical]]
]FIG]

** 文字列正規化

[FIG(short list)[ [6] [[Unicode文字列]]の[[正規化]]

- [[case folding]]
- [[Unicode正規化形]]
- [[Unicodeクメール文字正規化]]

]FIG]

[50] [[Stringprep]] や[[Unicode IDNA互換性処理]]や [[PRECIS]]
も広義の[[正規化]]と言えますが、 [[Unicode]]
の[[正規化]]に加えて[[大文字と小文字]]の変換や禁止文字などその他の処理も組み合わさっています。
[[IDNA2008]] による制約を満たす[[文字列]]も広義の[[正規化形]]と言えますが、やはり他の制約が組み合わさっています。


[5] [[正規化形]]と[[応用]]レベルの[[文脈]]上の制約を組み合わせた概念もあります。
[FIG(short list)[
- [[完全正規化]]
]FIG]


[FIG(short list)[ [7] [[自然言語処理]]その他のための[[正規化]]

- [[Unicodeクメール文字]]
- [[Unicodeアラビア文字]]
- [[文字幅]]

]FIG]






* 文脈

[2] [[比較]]の基礎となる[[演算]]でもあります。

[4] [[電子署名]]は[[正規形]]に対して[[演算]]するのが一般的です。
本質的でない表現のバリエーションによる[[検証]]の失敗を防ぐためです。

* 関連

[5] [[文字列の比較]]

* メモ