3

誰かがユニコード文字列を文字列に変換するのを手伝ってください

これがユニコード文字列を取得する方法です

UnicodeString _str = OpenDialog1->FileName;

または、ifstreamなどを使用してファイルのユニコード文字列に書き込むことができる場合は?

ありがとう

4

3 に答える 3

8

必要に応じて、をまたはに割り当ててUnicodeStringから、元のファイル自体の代わりにそれをファイルに書き込みます。AnsiStringUTF8StringUnicodeString

UnicodeString _str = OpenDialog1->FileName; 
AnsiString _astr = _str;

または:

UnicodeString _str = OpenDialog1->FileName; 
UTF8String _ustr = _str;

AnsiString/UTF8Stringを STL 関数に渡すには、次のいずれかを行う必要があります。

1)c_str()メソッドを使用します。

stream << _astr.c_str();

2) temp を作成しstd::stringます:

stream << std::string(_astr.c_str(), _astr.Length());

3)AnsiStringのみの場合は、プロジェクトで定義を指定してVCL_IOSTREAM、AnsiString 独自の<<<and>>演算子を有効にします。

stream << _astr;
于 2012-07-02T22:43:18.403 に答える
2

文字列をバイトに変換するには、何らかのエンコードが必要です。これを行うさまざまなライブラリがあるため、使用しているフレームワークによって異なります。

別の方法として、 を使用してストリームに文字をwofstream書き込むこともできます。wchar_t

于 2012-07-02T10:05:19.117 に答える
1
std::string converted;
us.toUTF8String(converted);

私たちは (ICU) UnicodeString

于 2015-02-10T09:56:00.883 に答える