UTF-8 およびさまざまな UTF-16 および UTF-32 エンコーディングのいずれかから来る可能性がある Unicode を受け入れるようにプログラムを変更する必要があります。私は Unicode についてあまり知りません (ただし、Joel Spolsky の記事と ウィキペディアのページは読んだことがあります)。
現在、 を使用して で入力をstd::istream
読み取り、(必要に応じて) に格納しています。そうしたいです。char
char
std::string
- 上記のエンコーディングをサポートするようにこれを (最小限の労力で) 変更し、
- 上記のエンコーディングをテストする方法を見つけます (私はちょっと白パンのアメリカ人で、別のエンコーディングでサンプル テキスト ファイルを作成する方法さえ本当に知りません)。
- クロスプラットフォームの方法でこれを行います。
また、可能であれば、可能な限りスペースを節約したいと思います (したがって、1 バイト/文字以上必要でない場合は使用しません)。私が理解していることから、これはUTF-8で保存することを意味しますが、これは問題ありませんが、これを行う標準文字列を知りません(私が理解しwchar_t
ていることから、実装定義のサイズとエンコーディングがあります)。