私は成功を収め、QString::fromUtf8("Precio (\u20AC/k)");
のように、QString::fromUtf8
に渡すために、\u
エンコードされた配列と文字列リテラルを使用して、しかし、少し私の心を苦労し、cppreferenceを読んでいましたその他の情報源では、\u20AC
のシーケンスがどのようにバイナリで翻訳されているのか明確ではありません。のQString :: fromUtf8(STR)と uのエンコードされた文字列
つまり、\u20AC
の代わりにQString::fromUtf8
の受信とは何ですか? 20AC
コードポイントのUTF-8表現?そのUTF-16表現ですか?または何?
私が読んだソースの大部分は、それがUTF-16表現に変換されていると言います。つまり、その文字列をfromUtf8
に渡すときに間違っていますが、常にうまくいきました。
私は正しいことをしているのですか?
を導入C++ 11を取得するには?だから、 '' hello "'のような純粋なASCIIの修正されていないリテラル文字列は、UTF-16でエンコードできますか? –
@ Peregring-lk no。UTF-16は、実行文字セットのマルチバイトエンコーディングとして使用できません。 wchar_tが16ビットの変わったコンパイラ(Visual Studio)は、それを 'L"のエンコーディングとして使用するかもしれませんhello "' – Cubbi
いいえ、固定されていない文字列リテラルのエンコーディングは、 、 ではない?文字列に実行文字セットのみが含まれている場合はASCIIエンコード(= UTF-8、= ISO-8859-1など)ですが、他の文字が含まれている場合、これらの特定の文字列のエンコードは実装定義です。ではない? –