STLソート機能は、UTF-8文字を持つ名前のアルファベット順ソートをサポートしていますか?ドイツ語/フランス語の名前を教えてください。STLソートはUTF8をサポートしていますか?
答えて
これは、UTF-8文字をどのように保存するか、そしてどのようにあなたの比較文字がどのように見えるかによって異なります。 sort
関数は、それがソートする要素に完全に無関心です。
しかし、「char
配列に格納されたときに...」あなたはおそらく意味とchar
sが与えられたUTF-8文字の代わりに、論理的な文字の個々のバイトを保存しますので、その後、答えは何ではありません。 sort
関数は、イテレータによって区切られた要素をソートします。 sort
は、それらが参照するイテレータ/要素がその中に含まれるデータを認識している場合にのみ機能します。これは、UTF-8をエンコードするchar
の配列には当てはまりません。
正しい解決策は、UTF-8入力を適切な(正規化された)Unicodeコードポイントの配列に解析し、それらをソートしてUTF-8に変換することです。
いいえ。今は明らかです。ありがとう! – Spottsworth
私は実際にあなたの質問を誤読している可能性がありますので、他の回答が適用される可能性があります。また、あなたの質問の下のコメントに記載されている "おそらく関連する"質問を見てください。 –
ソートアルゴリズムではなく文字列クラスのように聞こえるのは本当の問題です。データを正しく取得します。アルゴリズムはその後に来る。 'std :: string'は' char * 'です。これはKonradが述べているように。 wstringとQStringなどはこのタスクに適しています。 – spraff
私はあなたが標準テンプレートライブラリを参照していると仮定し、答えはいいえです。
標準ライブラリのどれもテキスト文字列型を持っていません。 char
の配列がありますが、それはちょうどバイトのベクトルです。 std::string
がありますが、それは基本的にバイト列(または16ビットワードなど)です。エンコードはもちろん、文字の概念もありません。
適切な比較機能が必要です。あなたはおそらくICU - International Components for Unicodeに1つを見つけることができます。特にCollationを見てください。
これは、UTF-8文字が2バイト以上にまたがることがあり、 'sort'はこれを認識せず、入力内の各' char'(= byte)を別個の項目とみなすので不十分です。 –
@ Konrad、私はあなたのコメントを理解していません - 'ソート'はソートしているデータを解釈しようとしません、それは比較機能にその仕事を残します。あなたはあなた自身の答えでこう言った。「並べ替え機能は、それが並べ替える要素に完全に無関心です。 –
OPは個々の*文字*を文字列に並べ替えたいと思って質問を誤読しているかもしれません。 –
- 1. utf8他の言語をサポートしていない理由は何ですか?
- 2. ネストしたデータ構造のSTLソート
- 3. FIRテーブルを読むときにFIREDAC-UTF8エンコーディングはサポートされていません
- 4. 'UTF8'はサポートされているエンコーディング名ではありません
- 5. TZipFileは、私はzipファイルから(UTF8)のテキストファイルを抽出しようとしていますUTF8
- 6. STLプログラム内のソートについてのC++ヘルプ
- 7. STLの概念は、STLアルゴリズムのすべての引数要件をカバーしていますか?
- 8. ラムダ関数を使ってstlコンテナをソートする
- 9. STL-ソートが正常に動作しない
- 10. laravel 5.3コレクションのソートUTF8文字列
- 11. CSS3アニメーションはサポートしていますか?
- 12. 複数のパラメータによるSTLソートC++
- 13. STLのソート比較クラスの機能
- 14. フラッシュにutf8を表示していますか?
- 15. iOSではGCMをサポートしないAES 256をサポートしていますか?
- 16. C intellisenseはサポートしていますが、C++をサポートしていない適切なIDEはありますか?
- 17. MySqlはソートをソートしますか?
- 18. CUDAをサポートするGPUもOpenCLをサポートしていますか?
- 19. STLマップを最小値から最大値にソート
- 20. Opera 10はhtml5オーディオタグをサポートしていますが、Opera 11はサポートしていますか?
- 21. カードはOpenGL 4.1をサポートしていますが、スレッドではGL4実装をサポートしていませんか?
- 22. Xpathをサポートしていますか?
- 23. DELETE CASCADEをサポートしていますか?
- 24. BLToolKit:IQueryableをサポートしていますか?
- 25. OFPC_IP_REASM "Openflow"をサポートしていますか?
- 26. precommithooksをサポートしていますか?
- 27. AUFBVをサポートしていますか?
- 28. DBCP - マルチスレッドをサポートしていますか?
- 29. フルスイングアンドロイドメディアデコーダをサポートしていますか?
- 30. iOS:AVSpeechSynthesizer - オフラインをサポートしていますか?
[Sorting UTF-8 strings?](http://stackoverflow.com/questions/4611302/sorting-utf-8-strings) –