3

UTF-8 でエンコードされた 2 つの部分文字列で大文字と小文字を区別しない比較を実行するには、何を使用すればよいですか? strnicmp基本的に、 UTF-8の関数を探しています。

4

2 に答える 2

2

さまざまな Unicode スクリプトの大文字と小文字の変換規則は非常に難しく、大規模な大文字と小文字の変換テーブルが必要です。自分でこれを正しく行うことはできません。ライブラリが必要です。ICUもその一つです。

于 2010-06-01T22:06:34.183 に答える
1

strcollロケールを認識し、少なくとも UTF8 がロケールのデフォルト エンコーディングである場合は正しく処理する必要があります。そうでない場合は、まだわかりません。回避策のように、マルチバイト文字列を wchars (mbrtowc) に変換してから、残念ながら標準ライブラリの一部ではなく GNU 拡張機能である wcscasecmp を使用できます...あまり役に立たないかもしれません。

于 2010-06-01T21:36:46.590 に答える