请帮助我将unicodestring转换为字符串
这就是我获取unicodestring的方式
UnicodeString _str = OpenDialog1->FileName;
或者是否可以使用ifstream或类似内容写入文件unicode字符串?
由于
答案 0 :(得分:7)
根据您的需要,将UnicodeString
分配给AnsiString
或UTF8String
,然后将其写入您的文件而不是原始UnicodeString
本身:
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)构建一个临时std::string
:
stream << std::string(_astr.c_str(), _astr.Length());
3)仅在AnsiString
的情况下,在项目中指定VCL_IOSTREAM
define以启用AnsiString自己的<<<
和>>
运算符:
stream << _astr;
答案 1 :(得分:2)
将字符串转换为字节需要一些编码。有各种各样的库可以执行此操作,因此它取决于您使用的框架。
作为替代方案,您可以使用wofstream
将wchar_t
个字符写入流中。
答案 2 :(得分:0)
std::string converted;
us.toUTF8String(converted);
我们是(ICU)UnicodeString