これまでユニコード、そのエンコーディングおよび関連する多くのトピックについて何度も読んできました。
私の研究の背後にある理由は、ファイルの内容を読み込み、文字で解析するためです。私が間違っている場合C++ユニコード文字が1バイトよりも大きいファイルを正しく読み取る
は私にしてください修正:
C++のgetc()
戻りEOF
に等しいかもしれないint
を。
戻り値がEOF
と等しくない場合は、
を
とすると、char
に安全に割り当てられます。
std::string
はchar
を基にしているため、これらの文字でstd::string
を作成して使用することができます。
私はstring
にC#のchar
(16ビット)を使用するC#バックグラウンドを持っています。
char
の値は、ユニコード値に直接マッピングされます。
char
の値が5
であるユニコード文字は、U+0005
に位置します。
私が理解していないのは、値がバイトより大きいかもしれない文字を含むC++のファイルを読む方法です。私はgetc()
を使用して、値が1バイトに制限されている文字だけを読むことができるときには快適ではないと感じています。
C++でファイルを正しく読み取る方法について、重要な点がありません。
洞察力は非常に高く評価されています。
私はvC++を使用してWindows 10 x64を実行しています。
しかし、可能であれば、この質問はプラットフォームに依存しないようにしておきたいと思います。
How well is Unicode supported in C++11?
それはユニコードがサポートされているどのように悪いに迅速にダイビングです:(?)私はKlitos Kyriacouのコメントにリンクスタックオーバーフローポストを強調したいと思います
EDIT
C++で。
詳細については、受け入れられた回答に記載されているリソースを参照してください。
'std :: wstring'や' wchar_t'を見たことがありますか? –
どのエンコードを使用しますか? –
@VadaPochéそれを読みましょう... –