プログラミング言語でのUnicode正規化

JavaScript、Python、Java、Go、Rust、SwiftでUnicodeを正規化する方法。各言語の正規化APIのコード例を含みます。

Programming

詳細な説明

プログラミング言語間の正規化

すべての主要プログラミング言語がUnicode正規化を提供していますが、APIは大きく異なります。

JavaScript

const text = "café";
text.normalize("NFC");   // NFC(デフォルト)
text.normalize("NFD");   // NFD
text.normalize("NFKC");  // NFKC
text.normalize("NFKD");  // NFKD

Python

import unicodedata
text = "café"
unicodedata.normalize("NFC", text)
# Python識別子はNFKC正規化される

Java

import java.text.Normalizer;
Normalizer.normalize(text, Normalizer.Form.NFC);

Go、Rust、Swift

それぞれ固有のAPIとライブラリが用意されています。Swiftの文字列はデフォルトで書記素ベースの比較を使用するため、正規化の違いが==に影響しません。

ユースケース

アプリケーションにUnicode正規化を実装する開発者のためのリファレンスです。言語間のコード移植、コードの正規化の正確性のレビュー、新しいプロジェクトに適した正規化APIの選択に役立ちます。

試してみる — Unicode Normalizer

フルツールを開く