8

データベースから読み取ったいくつかの文字列を char* および UTF-8 形式で保存しています (「á」は 0xC3 0xA1 としてエンコードされます)。しかし、それらをファイルに書き込むには、まずそれらを ANSI に変換する必要があります (UTF-8 形式でファイルを作成することはできません... ANSI としてのみ読み取られます)。 「あ」になる。はい、一部のデータが失われることは承知しています (中国語の文字、および一般的に ANSI コード ページにないもの)。

しかし、問題は、さまざまなプラットフォームでコンパイルするコードが必要なので、標準の C++ でなければならない (つまり、Winapi ではなく、stdlib、stl、crt、または利用可能なソースを持つカスタム ライブラリのみ)。

誰にも提案はありますか?

4

4 に答える 4

1

ASCII を意味する場合は、ビット 7 が設定されているバイトを破棄するだけで、すべてのマルチバイト シーケンスが削除されます。「á」からアクセントを削除するなど、より高度なアルゴリズムを作成することもできますが、それにはさらに多くの作業が必要になることに注意してください。

于 2013-07-10T05:45:37.130 に答える