3

C++でASCIIstd:: stringをUTF8(Unicode)std :: stringに変換する方法は?

4

3 に答える 3

6
std::string ASCIIToUTF8(std::string str) {
  return str;
}

すべてのASCII文字はUTF8で同じ表現を持っているため、変換するものはありません。もちろん、入力文字列が拡張(8ビット)ASCII文字セットを使用している場合、答えはより複雑になります。

于 2010-02-27T15:17:56.490 に答える
2

ASCIIは7ビットエンコーディングであり、ASCIIで表現できる文字のサブセットのUTF-8エンコーディングに同じようにマッピングされます。

要するに、何もすることはありません。ASCII文字列はすでに有効なUTF-8です。

于 2010-02-27T15:18:44.593 に答える
0

ASCIIとは、CP1252またはその他の8ビット文字セットを意味すると思います(ASCIIは7ビットのみで、UTF-8と直接互換性があり、変換は必要ありません)。標準のC++では実行できません。これを行うには、たとえばGlibmm、Qt、iconv、またはWINAPIが必要です。

于 2010-02-27T15:16:25.783 に答える